如何使用for循环选择选择框的选项

时间:2011-07-25 13:01:08

标签: jquery

嗨,任何人都可以告诉我应该写什么,以便在for循环选项的每次迭代值改变时,我得到逐个选项的值。以下是代码:

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

例如dropdown有10个值,但我想隐藏那些通过for循环动态更改值的选项,所以我写“option = i”但它不起作用。我的意思是我想写变量i。我怎么能这样做

5 个答案:

答案 0 :(得分: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 :(得分:1)

你可以尝试,$("#mydropdown_for_month option").eq(i).hide()没有测试它,只是一个猜测:D

答案 2 :(得分:1)

尝试

"option=" + i

因此'i'是变量而不是字符串

答案 3 :(得分:1)

你不必在这里使用循环(实际上,当你按照设计的方式使用jQuery时,循环很少见。)

您可以使用slice()方法匹配<option>元素的子集并同时隐藏所有元素:

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

答案 4 :(得分:0)

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

 } 

这是演示http://jsfiddle.net/DBXGe/