我試圖用javascript實現鏈式過濾器下拉列表 - jquery。JQuery鏈式過濾器下拉列表
我需要的解決方案是http://www.codeassembly.com/Simple-chained-combobox-plugin-for-jQuery。
但是我不能使用這個解決方案,因爲它取決於一個PHP文件。有沒有單獨使用javascript(客戶端和/或服務器端)來實現的方法?
非常感謝
我試圖用javascript實現鏈式過濾器下拉列表 - jquery。JQuery鏈式過濾器下拉列表
我需要的解決方案是http://www.codeassembly.com/Simple-chained-combobox-plugin-for-jQuery。
但是我不能使用這個解決方案,因爲它取決於一個PHP文件。有沒有單獨使用javascript(客戶端和/或服務器端)來實現的方法?
非常感謝
對於一個簡單的jQuery插件,不需要任何其它數據源或數據文件。您可以使用:
http://code.google.com/p/jquery-option-tree/
所有的選項得到的JS代碼中定義的,希望你不會有一個大的數據集。
<input type="text" name="demo1" />
var option_tree = {
"Option 1": {"Suboption":200},
"Option 2": {"Suboption 2": {"Subsub 1":201, "Subsub 2":202},
"Suboption 3": {"Subsub 3":203, "Subsub 4":204, "Subsub 5":205}
}
};
$('input[name=demo1]').optionTree(option_tree);
對不起公然自我宣傳,但我有同樣的問題,前面寫了Chained Selects插件來滿足我的需要。它與Glennular提供的相似,但有一些差異。而不是從JSON數組構建選擇,它使用HTML的類屬性來確定應該顯示哪些選項。例如:
<select id="mark">
<option value="">--</option>
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</select>
<select id="series">
<option value="">--</option>
<option value="series-3" class="bmw">3 series</option>
<option value="series-5" class="bmw">5 series</option>
<option value="series-6" class="bmw">6 series</option>
<option value="a3" class="audi">A3</option>
<option value="a4" class="audi">A4</option>
<option value="a5" class="audi">A5</option>
</select>
你會然後使它們鏈與下面的JavaScript:
$("#series").chained("#mark");
或者如果你喜歡長形式:
$("#series").chainedTo("#mark");
您還可能要檢查的來源單獨demo page。
似乎我投了這個有點太早 - 試圖製作一個表單,並認識到一些關鍵功能缺失:1)我不能在每個下拉列表中設置不同的默認選擇消息,例如「請選擇國家」,然後選擇「請選擇狀態「; 2)命名每個子下拉菜單似乎不可能,它將「_」附加到它上面,但是然後將整個選擇值放入一個字段中(工作正常,但命名每個子下拉菜單會很好)。 – Sologoub 2011-08-15 17:26:54
@Sologoup 1)您可以傳入一個empty_value參數來設置默認消息。看看演示頁面上的例子。 – Glennular 2011-08-15 17:33:29