禁用页面上具有特定值的所有选项 - Javascript

时间:2017-09-22 13:55:48

标签: javascript jquery

我正在尝试禁用页面上具有特定值的所有选择框中的所有选项。

如果有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

任何帮助将不胜感激。

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>

希望这会对你有所帮助。