2

こんにちはみんな基本的に知りたいのは、jQueryオートコンプリートから追加のパラメーターをphpページに送信し、データベースにクエリを実行して結果を返す方法があることです。入力ボックスに入力された用語を送信することについては知っていますが、たとえば、選択ボックスから選択したオプションを送信できるかどうかを知りたい.

これが私のコードです:

<script src="/scripts/jquery-ui-min"></script>
<script>
 $('#tags').autocomplete({
 search: function(event, ui) {
     $('.test ul').empty();
 },
 source: '/autoCompleteKnowledgeBase.php'
 }).data('autocomplete')._renderItem = function(ul, item) {

 return $('<li/>')
 .data('item.autocomplete', item)
.append(item.value)
.appendTo($('.test ul'));
};
</script>
<form method="POST" action="askAQuestion.php">
 <p>
 Search for:
 <input type="text" id="tags" name="searchFor">
 <input type="submit" id="tags" value="Find ...">
 </p>
 </form>
 <div class="test">Output goes here:<br/><ul></ul></div>
 </div>

autoCompleteKnowledgeBase.php は用語を受け取り、それに対してデータベース クエリを実行し、結果を JSON で返します。選択したオプションなどの追加パラメーターを渡す方法を探しています。

何か案は?

ありがとう

4

1 に答える 1

1

次のようにそれを達成することができます:

var additionalDataToServer;

$('#tags').autocomplete({
 search: function(event, ui) {
     $('.test ul').empty();
 },
 source: function( request, response ) {
   //set any additional data to the request here... for example

   additionalDataToServer = $('#someInput').val();
   request.additionalDataToServer = additionalDataToServer;


   $.getJSON( '/autoCompleteKnowledgeBase.php', request, function( data, status, xhr ) {
      response( data );
   });
  }
 }).data('autocomplete')._renderItem = function(ul, item) {

 return $('<li/>')
 .data('item.autocomplete', item)
.append(item.value)
.appendTo($('.test ul'));
};

サーバーでrequest.termは、ユーザーrequest.additionalDataToServerが入力した値であり、追加した値です。

于 2013-07-04T10:08:31.530 に答える