Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代多个复选框值,并将它们与单个文本输入框匹配';使用jQuery调用s值_Javascript_Jquery - Fatal编程技术网

Javascript 迭代多个复选框值,并将它们与单个文本输入框匹配';使用jQuery调用s值

Javascript 迭代多个复选框值,并将它们与单个文本输入框匹配';使用jQuery调用s值,javascript,jquery,Javascript,Jquery,我试图检查文本输入字段的值字符串是否包含与多个复选框输入值对应的任何匹配项。如果在文本输入的值字符串中发现复选框的值匹配,则应选中该复选框,而任何不匹配的复选框应保持未选中状态。使用下面的代码,所有复选框都显示为选中,而复选框的值中只有一个与文本输入的值字符串匹配 jQuery $("input[type='checkbox'][name='hello']").each(function(){ var value = $(this).attr('value'); var id =

我试图检查文本输入字段的值字符串是否包含与多个复选框输入值对应的任何匹配项。如果在文本输入的值字符串中发现复选框的值匹配,则应选中该复选框,而任何不匹配的复选框应保持未选中状态。使用下面的代码,所有复选框都显示为选中,而复选框的值中只有一个与文本输入的值字符串匹配

jQuery

$("input[type='checkbox'][name='hello']").each(function(){
    var value = $(this).attr('value');
    var id = $(this).attr('id'); 

    if ($("input[type='text'][name='goodbye']:contains("+value+")")) {
        $("input[id="+id+"]").prop('checked', true);
    }
});
HTML

1
二
三

如果你只想做一个文本比较,下面应该可以

$("input[type='checkbox'][name='hello']").each(function () {
    var value = $(this).val();

    if ($('#goodbye').val().indexOf(value) >= 0) {
        $(this).prop('checked', true);
    }
});
我不知道为什么您在获取
再见
输入时会变得过于复杂,因为您有一个id,并且该id总是唯一的(否则您会遇到其他问题)

将在输入框中为您提供值。如果找不到值,则使用
indexOf
将返回-1,如果找到值,则返回数字0或更大,因此我们可以使用它来确定值是否存在


示例:

谢谢caspian,您的代码运行得非常好。。。看来我想得太多了。
$("input[type='checkbox'][name='hello']").each(function () {
    var value = $(this).val();

    if ($('#goodbye').val().indexOf(value) >= 0) {
        $(this).prop('checked', true);
    }
});
$('#goodbye').val()