2011-07-27 39 views
0

我正在尋找一些有多個自動建議選項的JQuery插件(例如可以找到here)。我需要在第一個選定的基礎上填充第二個值。就像我選擇國家作爲第一個第二個汽車建議可能是這樣的城市。請任何想法嗎?一些類似於這個的解決方案,或者我們如何在JQuery中做到這一點。Jquery AutoSugggets多值插件

在此先感謝

回答

0

我不知道任何插件。我建議你自己寫這個。

  • 指定帶有JS更改處理程序的n個SELECTbox。
  • 當SELECT更改時,您在其他div中使用X生成「過濾器塊」。
  • 當您單擊X時,將SELECT的值重置爲0並移除「過濾器塊」。
  • 當您更改先前選定的值時,您會根據與SELECT ID相似的生成ID找到適當的過濾器塊。

我覺得這段代碼應該很簡單。

編輯:我沒有讀完整個問題,我的不好......在更改了一些選擇框之後,您應該首先生成依賴選擇框的選項。這取決於你想要如何存儲數據。這可以通過改變SELECT onchange出現時調用的AJAX「成功」上的OPTION來完成。

EDIT2: 你能做到在單箱:

<div id="filters"> </div> 

<select id="country"> 
<option></option> 
... 
</select> 

<select id="price"> 
<option></option> 
... 
</select> 

然後你寫jQuery的事件處理程序:

$(function(){ 
    $("select").change(function(){ 
    var id = $(this).attr("id"); 
    if($(this).val()==0){ // if you choose default/zero value 
     $("#filter-"+id+).remove(); 
    } 
    else if($("#"+id+"-filter").length > 0){ // if you only update value 
     $("#filter-"+id).html($(this).val()+'<span>X</span>'); 
    } else { // add filter box 
     $("#filters").append('<div id="#filter-'+id+'">'+$(this).val()+'<span>X</span></div>'); 
    } 
    }); 
    $("#filters > div > span").live("click", function(){ 
    var select_id = $(this).attr('id').substring(7); 
    $("#".select_id).val(0); 
    $(this).parent().remove(); 
    }); 
}); 

我匆匆寫了這一點,但如果你知道如何在jQuery中寫作,即使我犯了一些錯誤,你也應該明白這一點。

+0

感謝您的回覆。但問題是我想在一個盒子裏做這件事,就像在我的問題中使用Select列表的示例鏈接一樣。 – kakaajee

+0

這是你在找什麼? – avall

2

我需要同樣的事情,並沒有發現任何jQuery插件,could'n的幫助,所以我想出瞭解決辦法是:

  1. 填充第一個下拉列表。 當用戶更改第一個下拉列表的選定默認值時:
  2. 空另一個下拉列表。
  3. 調用ajax方法來檢索輔助下拉列表中所需的數據。
  4. 使用從ajax方法檢索到的數據填充輔助下拉列表。
  5. 對其他下拉列表執行相同操作。

HTML:

<select id="ddl1" /> 
<select id="ddl2" /> 

JS:

$("#" + ddl1).change(function() { 
    getddl2values(); 
});