2015-08-18 121 views
0

我在动态检查复选框(查找其值)时遇到问题,该复选框的值中包含特殊字符。获取一个复选框,其值为特殊字符

我试图此

$('#store_cat').find("[value="abc"]").prop('checked', true); 

,但是当我有类似价值它abc_&_def失败。

需要帮助 问候

+0

是“store_cat”复选框? – stackoverfloweth

+0

否“store_cat”是一个“李”,其中所有的复选框都是 – Atranaz

+1

不错,只是想检查一下,我也一定要小心单双引号 – stackoverfloweth

回答

1

试试这个:

$('#store_cat').find('[value="abc"]').prop('checked', true); 

,或者该值可能是页面的生命周期内改变:

$('#store_cat :checkbox').filter(function() { 
    return this.value.trim() = "abc"; 
}).prop('checked', true); 

请注意:本值属性为您提供了表单控件的初始值,除非attrib的值,否则该值不会更改ute被明确地改变; val(new_value)不会更改该属性。

+0

感谢给我详细信息:) – Atranaz

0

你需要一个功能

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'); 
0

您可以使用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>