如何禁用具有多个用逗号分隔的值的选项?

时间:2018-11-22 12:52:58

标签: javascript jquery

我有一些带有多个值的选择选项

<app-user-edit (userEditedEvent)="refreshList($event)"></app-user-edit>
<app-user-edit [existingUser]="user" (userEditedEvent)="refreshList($event)"></app-user-edit>

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

我当前的代码适用于单值期权,但是我现在需要更改它以容纳多个值?

它抛出如下异常

  

未捕获的错误:语法错误,无法识别的表达式:#addItemModal #servicesBlock select [name = service_id] option [value = 26,30,31,32,34]

1 个答案:

答案 0 :(得分:1)

[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);