从jQuery自动完成发送附加参数到php页面

时间:2013-07-04 10:02:40

标签: php javascript jquery mysql ajax

大家好基本上我想知道有没有办法将其他参数从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格式发回结果。寻找一种方法来传递其他参数,例如选择的选项。

任何想法?

谢谢

1 个答案:

答案 0 :(得分: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是用户输入的值&amp; request.additionalDataToServer是您添加的内容。