我正在尝试禁用页面上具有特定值的所有选择框中的所有选项。
如果有5个选择框,每个框有4个选项。像这样:
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
我想在整个页面上禁用值为3
的所有选项,我将如何实现此目标?
$("select option["+previous+"]").attr('disabled', 'disabled');
但这会禁用Select option
选定值 3 。
任何帮助将不胜感激。
答案 0 :(得分:2)
看起来像你传递的内容被视为内部选择的索引。尝试值属性选择器
$("select option[value ="+previous+"]").attr('disabled', 'disabled');
答案 1 :(得分:1)
您可以使用jquery中的value属性来执行此操作。
$("select option[value='3']").attr('disabled', 'disabled');
答案 2 :(得分:1)
您可以使用ES6
模板文字
var previous = 3;
$(`select option[value=${previous}]`).prop('disabled', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
希望这会对你有所帮助。