我試圖更新頁面上所有選擇列表的選項,並實施了在Get list of all `input` objects using JavaScript, without accessing a `form` object和其他頁面上找到的解決方案。循環並更新選擇列表中的值
這在一定程度上起作用,但只有在觸發javascript後出現的選擇列表被更新,而我需要它們全部完成,而不管它們相對於觸發選擇的位置如何。
這裏是什麼,我有一個簡化版本:
function chooseBon(id, value) {
var bonbonsAmount = 12;
var bonbonsCurrent = 0;
var bonbonsCount = 4;
var inputs, index;
// get all the select lists
inputs = document.getElementsByTagName('select');
// loop through all the lists
for (index = 0; index < inputs.length; ++index) {
// First disable all options
for (j = 0; j<=bonbonsAmount; ++j) {
inputs[index].options[j].disabled="disabled";
}
// Then re-enable the ones we still need
for (j = 0; j<=(bonbonsAmount - bonbonsCurrent); ++j) {
inputs[index].options[j].disabled="";
}
// add up the no of chocs selected so we know how many options to re-enabled above
bonbonsCurrent += inputs[index].selectedIndex;
}
我是承認的新手,我從一個電子商務平臺,適應腳本另一個使我陷於癱瘓在某些方面讓心情隨意提出其他建議。
您好,是的,我有個二十五歲的選擇列表之間,每種原料從1-12選項。每個選項都適用於巧克力,並且允許他們最多選擇12個,但是以任意組合 - 所以如果他們從一個選擇列表中選擇4個,則所有其他選擇列表都應更新爲僅啓用選項1-8。如果他們從下一個列表中選擇2,那麼每個列表將被限制爲1-6,依此類推。上面的腳本可以正常工作,但是隻有在選擇了選項之後纔會更新選擇列表,而不是更新頁面之前的選擇列表。 – 2012-08-02 17:49:46