簡體   English   中英

使用Ajax基於2個輸入字段的jQuery自動完成

[英]jquery autocomplete based on 2 input fields using ajax

我有一個帶有2個輸入字段的表單。 我想使用輸入1作為過濾器在輸入2上實現自動完成功能。 所以我需要將兩個參數都傳遞給我的cgi腳本。 我這樣做有問題。 我可以單獨通過它們,但不能同時通過。 這是我嘗試的:

function fillbox2(){                                                          

$('#input2').autocomplete({                                              
      source: function(request, response ){                                                               
      var frmStr =  {input1:$('#input1').val(),input2:$('#input2').val()};                                                                     
      $.ajax({                                                            
      url: './cgi_temp2.cgi',                                             
      dataType: 'json',                                                   
      data:{frmStr:request.term},                                      
      contentType: "application/json; charset=utf-8",                     

          success: function (data) {                                      
               response ($.map( data.matches, function(item){             
                           return {                                       
                              value: item.info2,                    

                           }                                              
                       }));                                               
              }                                                           
          });                                                             
      },                                                                  

          minLength: 2,                                                   
          select: function(event, ui){                                    
          $("#input2).val(ui.item.value);                             
          return false;                                                   
          }                                                               
  });                                                                     

}       

問題出在哪里? 是來自我的ajax調用中的“數據:”還是“成功:”中的?

正如我看到的那樣,您可以從“ frmStr”中的輸入中保存數據,但是在ajax請求中,您可以執行以下數據:{frmStr:request.term},這意味着您將變量“ frmStr”用作數據中和數據中的鍵在后端, 您將把frmStr作為key 您在ajax中的數據應如下所示

var frmStr =  {
    input1:$('#input1').val(),
    input2:$('#input2').val(),
    requestTerm: request.term
};

然后在ajax中

data:{data: frmStr},

應該可以將數據發送到后端

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM