我想动态修改select元素的选定索引。有时,来自选择的选项会导致其他选择中的选项被禁用。我可以在运行时更改选项时禁用这些选项,但我无法更改select所显示的选项。动态更改显示的选择文本
举例来说,如果我有这样的选择:
<select>
<option>Even or Odd?</option>
<option>Even</option>
<option>Odd</option>
</select>
<select>
<option value="">Pick a Number</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option
</select>
当“奇”时,偶数将被禁用,但如果已经选择了偶数时,第一选择改为“奇数“,那么即使第二选择的选定索引现在为0,显示的值仍然是原始值。
我已经试过目前:
selects[i].selectedIndex = 0;
selects[i].value = "Pick a Number";
$(selects[i]).val("Pick a Number");
$(selects[i]).attrs("selectedIndex", 0);
最会发生的是,所选择的指数会改变或元素的值将成为没有实际改变是什么在页面上显示一个空字符串。
方法的名称是'attr'不'attrs'。 – undefined
不仅如此,而且attr是使用错误的函数。根据下面的答案,道具是正确的。 –
'选择[i] .selectedIndex = 0'应该可以工作。 – Barmar