javascript - 如何禁用多个值以逗号分隔的选项?

标签 javascript jquery

我有几个包含多个值的选择选项

$('#addItemModal #servicesBlock select[name=service_id] option[value='+service.val()+']').prop('disabled', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<option value="26,30,31,32,34">01-10-2018 to 05-12-2018</option>

我想通过 jQuery 禁用使用值的选项

我当前的代码适用于单值选项,但我现在需要更改它以保存多个值?

抛出如下异常

Uncaught Error: Syntax error, unrecognized expression: #addItemModal #servicesBlock select[name=service_id] option[value=26,30,31,32,34]

最佳答案

[value=] 属性选择器要求值在引号内:[vale="some_value"]。因此,以下应该有效:

$('#addItemModal #servicesBlock select[name=service_id] option[value="'+service.val()+'"]').prop('disabled', true);

虽然JavaScript backtick可能有助于使代码更具可读性(如果您的客户支持它):

$(`#addItemModal #servicesBlock select[name=service_id] option[value="${ service.val() }"]`).prop('disabled', true);

关于javascript - 如何禁用多个值以逗号分隔的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53431488/

相关文章:

javascript - Bootstrap 日期选择器在文本区域中不起作用

javascript - 根据文本输入更改具有特定类的所有元素

javascript - "return;"在 javascript 中是什么意思?

javascript - 为什么对象字面量上有尾随值会返回该值?

javascript - 我的动画 gif 在所有浏览器中 2 分钟后停止工作

jquery - 开发多屏幕 Web 界面——例如 Bloomberg 终端

javascript - 如何检查输入框是否有相同的值

jquery - 在函数外部使用变量

javascript - 为什么 jQuery 在我的 GreaseMonkey 脚本中加载两次

javascript - JS - 属性替换