我有两个select
选项,让我们说:
<select id="main">
<option value="1">category 1</option>
<option value="2">category 2</option>
........
</select>
<select id="sub">
<option value="1-1">sub 1</option>
<option value="1-2">sub 2</option>
<option value="2-3">sub 3</option>
<option value="2-4">sub 4</option>
........
</select>
每当选择category 1
时,都应禁用sub select
中的所有选项,除了值为1
的{/ 1}},sub 1
和sub 2
到目前为止我有这个代码:
$('#main').on('change', function() {
var opt=this.value.trim();
$("#sub > option").attr("disabled", "disabled");
$("#sub > option[value=opt+'%']").removeAttr("disabled");
^ I just can't figure how to perform a wild card here
});
非常感谢任何帮助
答案 0 :(得分:3)
使用^=
属性匹配。变化
$("#sub > option[value=opt+'%']")
到
$('#sub > option[value^="' + opt + '"]')
这将检查value
属性是否以opt
中的字符串开头。参考:Attribute selectors - CSS | MDN。