jQuery - 禁用基于option关键字的select选项而不是value

cra*_*xxx 2 html jquery 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>????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

所以,我有一个问题是根据文本名称而不是值来禁用选项下拉列表.我只需要禁用包含状态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");
  }
});?
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

j08*_*691 6

为什么不这样做:

$('select[name=loc_code] option').each(function() {
    if ($(this).text().indexOf('OFF') >= 0) $(this).attr('disabled', 'disabled');
});?
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子

  • 完美,它的工作原理.非常感谢.我不禁要惊讶于一些人可以快速编写代码,我必须花费数小时,不能弄清楚然后寻求帮助. (4认同)