如何获得没有空间的输入值

时间:2018-01-13 04:32:30

标签: jquery checkbox

在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]

有人有想法吗?

1 个答案:

答案 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