2012-05-11 17 views
3

うまく動作するJQueryがあります。すべてのオートコンプリート値をロードし、クリックすると、すべての検索を実行するsearchdata.phpがロードされます。これは機能します。オートコンプリートでJqueryを検索

私が理解できないことは、ユーザーがオートコンプリート値を選択せず​​に代わりにEnterキーを押したくないと判断した場合、どのようにしてsearchdata.phpをヒット時に入力を検索するページを再ロードせずに入力しますか?私はバインドして生きているし、それを動作させることはできません。

<script type="text/javascript"> 
$(document).ready(function() { 

var availableTags = <?php echo json_encode($findrow);?>; 

    $("#search_input").watermark("Begin Typing to Search"); 
    $('#searchresultdata').append(sendSelected); 

    $("#search_input").autocomplete({ 
     source: availableTags, 
     select: function(event, ui) { 
      sendSelected(ui.item.value); 
      } 
     }); 

function sendSelected(_val){ 
    var search_input = _val; 
    if (search_input =='') search_input ='*'; 
    var dataString = 'keyword='+search_input; 

    if (search_input.length > 2 || search_input=='*') { 
     $.ajax({ 
      type: "GET", 
      url: "core/functions/searchdata.php", 
      data: dataString, 
      success: function(server_response) { 
       $('#searchresultdata').empty(); 
       $('#searchresultdata').append(server_response); 
       $('span#category_title').html(search_input); 
      } 
     }); 
    } 
} 
}); 
</script> 
+0

[jQueryオートコンプリート・トリガー・チェンジ・イベント]の複製が可能です(http://stackoverflow.com/questions/6431459/jquery-autocomplete-trigger-change-event) - 同じですが、代わりにselectイベントを使用してくださいler) – Potatoswatter

答えて

7
$("#search_input").keypress(function(e) { 
    if(e.keyCode == 13) 
    { 
     e.preventDefault(); 
     sendSelected(this.value); 
     $(this).autocomplete('close'); 
    } 
}); 
+0

ああ、ありがとう、私はちょうどそれを試みていたが、それはオートコンプリートステートメントに含まれていた。 Enterキーを押したときにオートコンプリートボックスを閉じて結果をカバーしない方法はありますか? – K20GH

+1

@ K20GH確かにあります。私の編集を参照してください。 closeメソッドを起動するために '$(this).autocomplete( 'close')'を追加してください。 – Mathletics

+0

素晴らしい感謝:D – K20GH

3
$("#search_input").on('keyup', function(event) { 
    if(event.which == 13) // event.which detect the code for keypress in jQuery 
    { 
     event.preventDefault(); 
     sendSelected(this.value); 
    } 
}); 
する必要があるときにオンとオフを両立することを確認する必要が
関連する問題