4

設定值後,隱藏的輸入與jQuery UI自動完成jQuery UI的自動完成不發送隱藏輸入新的價值SCRIPT_URL

$("#PName").autocomplete({    
      search: function(event, ui) { 
      $("#PLoading").show(); 
      }, 
      source: "Script_URL", 
      minLength: 2,    
      select: function(event, ui) { 
       $("#PLoading").hide(); 
       $("#PName").val(ui.item.value); 
       $("#PID").val(ui.item.id); 
      } 
     }); 

<input type="hidden" id="PID" name="PID" value="0" /> 

從隱藏的輸入發送新值到其他網址自動完成,送0值

0值是隱藏的輸入默認值,(用於測試,我改變了默認值90,但再次發送默認值(90))

$("#CName").autocomplete({  
     search: function(event, ui) { 
     $("#CLoading").show(); 
    alert ($("#PID").val()); // it's worked, and alert new value , from hidden input 
     }, 
     source: "Script_URL/"+$("#PID").val(), /// but it's not worked , does not send new value from hidden input 
     minLength: 2,    
     select: function(event, ui) { 
      $("#CLoading").hide(); 
      $("#CName").val(ui.item.value); 
      $("#CID").val(ui.item.id); 

     } 
    }); 

回答

2

你的代碼,只是要讀VALU e的隱藏輸入一次,當小部件初始化。如果你想每次更新源URL,你必須提供一個函數來source參數,使Ajax請求自己:

$("#PName").autocomplete({    
    search: function(event, ui) { 
     $("#PLoading").show(); 
    }, 
    source: function() { 
     $.ajax({ 
      url: "Script_URL/" + $("#PID").val(), 
      data: request, 
      dataType: "json", 
      success: function (data) { 
       response(data); 
      }, 
      error: function() { 
       response([]); 
      } 
     }); 
    }, 
    minLength: 2,    
    select: function(event, ui) { 
     $("#PLoading").hide(); 
     $("#PName").val(ui.item.value); 
     $("#PID").val(ui.item.id); 
    } 
}); 
+0

**特別感謝您的幫助** –

+0

@SilverGold:否問題根本!如果有幫助,請「接受」答案! –