jQuery - 禁用基于选项关键字而不是值的选择选项

标签 jquery html select disabled-input

我有这个 HTML 选择代码:

​<select name="loc_code">
  <option value="">Select</option>
  <option value="loc1">Loc1 status ON</option>
  <option value="loc2">Loc2 status ON</option>
  <option value="loc3">Loc3 status OFF</option>
  <option value="loc4">Loc4 status ON</option>
</select>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

因此,我在基于文本名称而不是值禁用选项下拉菜单时遇到了问题。我只需要禁用包含状态 OFF 的选项。

我试图从 StackOverflow 上其他发布的类似问题中修改此 jQuery 代码,但显然这是错误的:

$("select[name="loc_code"] option:selected").text(function() {
  var $thisOption = $(this);
  var valueToCompare = "OFF";

  if($thisOption.val() == valueToCompare) {
    $thisOption.attr("disabled", "disabled");
  }
});​

非常感谢任何帮助。

最佳答案

为什么不这样做:

$('select[name=loc_code] option').each(function() {
    if ($(this).text().indexOf('OFF') >= 0) $(this).attr('disabled', 'disabled');
});​

jsFiddle example

关于jQuery - 禁用基于选项关键字而不是值的选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829293/

相关文章:

jquery 更新视口(viewport)?

jquery - 使用 ajax 和 CSS3 动画动态加载 wordpress 内容

html - 带colspan宽度的HTML表

javascript - 选择列表 - 多项选择 - Google 电子表格

php - SQL查找VARCHAR类型列中的最大数

MySQL 嵌套选择,X 和 Y

javascript - AngularJS 字符串不是函数

jQueryeach()完整回调函数

javascript - 如何通过 AngularJS $http 从 ASP.Net Web API 2 获取访问 token ?

MySQL 连接两行