在Php foreach生成的复选框列表中,我尝试限制我可以检查和取消选中最后一次点击的复选框。
var limit = 1;
var chkArrayCheckBoxOne = [];
$('input.catV').on('change', function(evt) {
chkArrayCheckBoxOne.push($(this).val());
if($(this).siblings(':checked').length >= limit) {
var TagO = chkArrayCheckBoxOne[0];
console.log(TagO);
$('input[value='+TagO+']').prop('checked', false);
chkArrayCheckBoxOne[0] = $(this).val();
}
});
如果值没有空格,则此工作正常。 如果值是“Jhon”我的限制工作,但如果值是“Jhon Doe”我得到:
Syntax error, unrecognized expression: input[value=Jhon Doe]
有人有想法吗?
答案 0 :(得分:1)
使用属性选择器时,您只需要用双引号包装输入的值,如下所示:
var limit = 1;
var chkArrayCheckBoxOne = [];
$('input.catV').on('change', function (evt) {
chkArrayCheckBoxOne.push($(this).val());
if($(this).siblings(':checked').length >= limit) {
var TagO = chkArrayCheckBoxOne[0];
$('input[value="'+TagO+'"]').prop('checked', false); // Value wrapped in double quotes
chkArrayCheckBoxOne[0] = $(this).val();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="catV" type="checkbox" value="John" /> John
<input class="catV" type="checkbox" value="John Doe" /> John Doe