如何使用选项语法追加禁用的选项以进行选择



我正在将选项附加到选择元素,并希望在满足条件时禁用这些选项。我试过这个:

if (myProp === "") {
    $.each(response,
        function(index, item) {
            myDDL.append(new Option(item.TextValue, item.valId).attr('disabled', true));
    });
}

但这会导致错误,Object doesn't support property or method 'attr' . 我知道我可以通过编写整个 HTML 选项语法来做到这一点,但我喜欢我示例中代码的清洁度。 这可以使用我正在使用的语法来完成吗?

attr()是jQuery对象上的方法。Option对象具有一个可以改用的disabled属性:

if (myProp === "") {
  $.each(response, function(index, item) {
    myDDL.append(new Option(item.TextValue, item.valId).disabled = true;
  });
}

话虽如此,以这种方式混合jQuery和本机JS有点奇怪。我建议使用其中一个,如下所示:

if (myProp === "") {
  $.each(response, function(index, item) {
    myDDL.append(`<option value="${item.valId}" disabled="disabled">${item.TextValue}</option>`);
  });
}

最新更新