我試圖找到創建大量輸入菜單的最佳方法,該菜單將根據這些選擇自動填充。 我遇到的問題是有相當多的選擇。將會有4個下拉菜單。每個下拉菜單將有2個選項。填充基於選擇的輸入選項
我在看下面的例子。雖然這種方法工作的代碼量將是巨大的>> http://devingredients.com/2011/05/populate-a-select-dropdown-list-with-jquery/
有誰知道實現這個最好的方法?
謝謝,
我試圖找到創建大量輸入菜單的最佳方法,該菜單將根據這些選擇自動填充。 我遇到的問題是有相當多的選擇。將會有4個下拉菜單。每個下拉菜單將有2個選項。填充基於選擇的輸入選項
我在看下面的例子。雖然這種方法工作的代碼量將是巨大的>> http://devingredients.com/2011/05/populate-a-select-dropdown-list-with-jquery/
有誰知道實現這個最好的方法?
謝謝,
這可以很容易地完成一些通用的幫助功能。
例如,不是爲每個值手動提供原始HTML,您可以編寫一個函數,根據傳遞的單個值清除並填充<select>
元素。
準備工作中,您需要創建一個對象,其中包含第一個<select>
的值作爲第二個<select>
列表的索引。像這樣的東西 -
var beverages = {
'wine' : ['Red','White'],
'beer' : ['dark','pale'],
'juice': ['mango','grapefruit']
};
現在我們知道,beverages['beer'][0]
能給我們帶來寒冷的一瓶啤酒。
從這裏我們可以寫一個更通用的功能,以幫助我們與HTML操作...
function populateSelect(category){
// remove all existing options.
$("#secondSelection").find('option').remove();
$.each(beverages[category],function(index,elem){
// for each item in beverages[category],
// we add an option to the <select>.
$("#secondSelection").append('<option>'+elem+'</option>');
});
}
你會調用該函數這樣的 -
populateSelect($("#firstSelection").val());
的標記,你會必須有會是這樣的 -
<select id="firstSelection">
<option value='beer'>Beer</option>
<option value='wine'>Wine</option>
<option value='juice'>Juice</option>
</select>
<select id="secondSelection">
<option>Choose a Category</option>
</select>
對於更復雜的結構,例如您所描述的結構,您可以在原始對象中嵌套更多選項,並且它是數組...
有多少「很多? –