嗨,任何人都可以告诉我应该写什么,以便在for循环选项的每次迭代值改变时,我得到逐个选项的值。以下是代码:
for (var i=1; i<4; i++)
{
$("#mydropdown_for_month option[value=i]").attr('hidden','hidden');
}
例如dropdown有10个值,但我想隐藏那些通过for循环动态更改值的选项,所以我写“option = i”但它不起作用。我的意思是我想写变量i。我怎么能这样做
答案 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();
}