2012-06-25 38 views
1

嗨在我的輸入類型文本我想調用URL如果用戶輸入假設三個字符如何做到這一點 如何添加監聽器?我正在開發搜索應用程序現在我在下面的代碼中發送硬編碼值「oil」。這裏是我的代碼:任何輸入類型文本的收聽者

<body> 

<div data-role="page" id="mainPage"> 

    <div data-role="header"> 
     <h1>jQM Autocomplete</h1> 

    </div> 

    <div data-role="content"> 


     <p> 
      <input type="text" id="searchField" placeholder="Categories"> 
      <ul id="suggestions" data-role="listview" data-inset="true"></ul> 
     </p> 

     <p> 
      <a href="https://github.com/commadelimited/autoComplete.js" data-role="button">Download the code</a> 
     </p> 


    </div> 

</div> 

<script> 

    $("#mainPage").bind("pageshow", function(e) { 

     var substr,out,pra; 

      var finalStr = "system"+encodeURIComponent("|^")+"0"+encodeURIComponent("|^")+"oil"; 
      var encodedURL = encodeURI("http://myDomainSearch.asp?requestString="); 
      var parameters = decodeURIComponent(finalStr); 


     $.ajax({ 
     type: "POST", 
     contentType:"application/x-www-form-urlencoded; charset=UTF-8", 
     url: encodedURL, 
     data: parameters 
     }).done(function(msg) 
       { 
        response = msg 
        alert(response); 
        if(response.charAt(0)=='0') 
        { 
         console.log("***"+ response);               
         substr = response.split('$'); 

         alert("inside if"+substr); 

         for (var out = 0;out<substr.length-1;out++) 
         {      
          pra = substr[out].split('|^'); 
          console.log(">>>>>>>>>>>"+pra[0]); 
          console.log(">>>>>>>>>>>"+pra[1]); 
          console.log(">>>>>>>>>>>"+pra[2]); 
          console.log(">>>>>>>>>>>"+pra[3]);     


         } 
        } 
        else 
        { 
         alert("error") 
        } 

        $("#searchField").autocomplete({ 
        target: $('#suggestions'), 
        source: pra, 
        link: 'target.html?term=', 
        minLength:1 
       }); 
      }    
     ); 
    }); 
</script> 

現在,而不是硬編碼的價值我想,如果用戶在輸入類型的文本輸入上面那麼三個字符撞上URL,並根據該響應將在列表中顯示。

任何幫助將不勝感激。提前致謝。

+1

,使用T他keyup事件和檢查輸入 – Samson

+0

中的文本的長度可以使回覆更簡單json – charlietfl

回答

5

嘗試舉個例子:

$('#searchField').keyup(function() { 
    var val = $.trim(this.value); 
    if(val.length == 3) { 
    // do something 
    ..... 
    .... 
    var finalStr = "system"+encodeURIComponent("|^")+"0"+encodeURIComponent("|^")+ val; 
    } 
}) 
+0

感謝codeparadox。 – PPD

+0

@PramodD不用客氣 – thecodeparadox

0

您可以使用.live收聽全球按鍵事件

<form> 
<input type="text" /> 
<input type="text" /> 
<input type="text" /> 
<input type="text" id="txtHidden" style="display:none"/> 
</form>​​​​​​​​​​ 

的jQuery:

$(document).live('keypress', function (e) { 

$('#txtHidden').val($('#txtHidden').val() + String.fromCharCode(e.which)); 

    if($('#txtHidden').val() == "oil") 
     alert("Black gold!"); 
});​ 

jsfiddle example