2010-12-16 76 views
0

你好 我已經開發了我的網站的自動提示,它工作正常,現在的問題是,現在的用戶選擇單選按鈕自動提示應該去相應的建議得到單選按鈕的值,然後進行自動提示

$().ready(function() { 

$("#q").autocomplete('?h=sugg&a='+$("#rad").val(), { 
    width:350, 
    max: 10, 
    highlight: false, 
    scroll: true, 
    scrollHeight: 300, 
    selectFirst: false, 
    formatResult: function(data, value) { 
     return value.split(".")[0]; 
    } 

}); 
<input name="q" id="q" autocomplete="off" /> 
     <input type="radio" name="rad" value="radio" id="rad_0" checked="checked" /> 
     Radio</label> 
    <br /> 
    <label> 
     <input type="radio" name="rad" value="radio1" id="rad_1" /> 
     Radio</label> 

事情是它總是選擇默認值,如果我選擇其他不改變,請告訴我,我怎麼能做到這一點...

回答

0

有與你是如何初始化自動完成幾個問題插入。

$("#q").autocomplete('?h=sugg&a='+$("#rad").val(), ... 
  1. 您正在使用源URL靜態值。當單選按鈕改變時,URL將不會被更新。這看起來像:?h =建議& a =無線電
  2. 單選按鈕選擇器正在查找ID爲「rad」的對象。你沒有這個ID的元素,即使你做了它會映射到一個單選按鈕。

你可以找到所選擇的無線電值是這樣的:

$("input[name=rad]:checked").val(); 

這將找到一個名爲「拉德」(你有兩個),所有輸入元素。它將使用:checked僞選擇符來查找選中的單選按鈕。

現在,即使您將初始化更新爲使用新的選擇器,您仍將只使用第一個單選按鈕。兩條建議:

  1. 當單選按鈕改變時,更新自動完成源。 (「input [name = rad]」)。click(function(){(「#q」)。autocomplete(「option」,「source」,「?h = sugg & a =」 + this.value); });

  2. 改爲使用回調源。在這裏,您可以在初始化時提供一個函數,用於根據當前選項值(或您需要的任何標準)進行不同的查詢。有關如何使用「源」的更多示例可用here

自動完成插件的完整文檔也是available here

相關問題