我在动态检查复选框(通过其值查找)时遇到麻烦,该复选框在其值中具有特殊字符。
i am try this
$('#store_cat').find("[value="abc"]").prop('checked', true);
但是当我有像abc_&_def
这样的值时,它失败了。
需要帮助关于
试试这个:
$('#store_cat').find('[value="abc"]').prop('checked', true);
或者如果该值在页的生命周期内可能会更改:
$('#store_cat :checkbox').filter(function() {
return this.value.trim() = "abc";
}).prop('checked', true);
请注意: value属性为您提供表单控件的初始值,除非该属性的值显式更改,否则该值不会更改;val( new_value )
不改变属性
您可以使用filter()
$('#store_cat :checkbox').filter(function() {
return this.value == "abc_&_abc";
}).prop('checked', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="store_cat">
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="a" />a
<br>
<input type="checkbox" value="abc_&_abc" />abc_&_abc
<br>
</div>
你需要一个函数
function chkVal(chkvalue){
var chkboxval = chkvalue;
var $this = $('#store_cat input:checkbox');
if($this.val()==chkboxval){
$this.prop("checked", true );
}
}
然后像这样用你正在寻找的值调用函数:
chkVal('abc_&_def');
chkVal('abc');