2011-07-25 53 views
0

嗨誰能告訴我我應該寫什麼,以便每循環for循環選項的值的變化,我得到一個選項的價值。以下是代碼:如何選擇選擇框選擇使用for循環

for (var i=1; i<4; i++) 
{ 
    $("#mydropdown_for_month option[value=i]").attr('hidden','hidden'); 
} 

例如下拉有10個值,但我想隱藏那些具有動態的for循環變化的值的選項,所以我寫「選項=我」,但它無法正常工作。我的意思是我想寫變量我。我怎麼能做到這一點

+2

$('#mydropdown_for_month選項[值= 「+ I +」]「)。 attr('hidden','hidden'); – jukempff

回答

2

你需要調用i作爲變量:
[編輯2]由於ThiefMaster,這裏是一個更好的代碼:

for (var i=1; i<4; i++) { 
    $("#mydropdown_for_month option[value=" + i + "]").prop('hidden', true); 
} 

[編輯]沒有隱藏屬性(其只存在於HTML5) - 感謝Phil和ThiefMaster:

for (var i=1; i<4; i++) { 
    $("#mydropdown_for_month option[value=" + i + "]").hide(); 
} 
+1

沒有隱藏的屬性 – ThiefMaster

+0

在'html5'中有 – Phil

+0

@ ThiefMaster:正確,謝謝!我只是從OP複製粘貼代碼。 it – JMax

1

你可以試試,$("#mydropdown_for_month option").eq(i).hide()沒有測試,只是一種猜測:d

+0

這可能會工作,如果選項與他們的價值相同的順序。但的確,這會更聰明 – JMax

1

嘗試

"option=" + i 

,使「我」是一個變量,而不是字符串

1

你不必在這裏使用一個循環(實際上,當你按照設計的方式使用jQuery時,循環非常罕見)。

可以使用slice()方法來同時匹配<option>元件的子集,並隱藏所有:

$("#mydropdown_for_month option").slice(1, 4).hide();