Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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 运行函数时未选中复选框_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 运行函数时未选中复选框

Javascript 运行函数时未选中复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个复选框,当单击它时,它会将表单提交给服务器以存储详细信息。所有工作正常,除了在表单提交后,我更新了一个div,表示已提交,但复选框没有勾选。当然,页面不会被刷新,在页面刷新时,它会被勾选 我想在使用jQuery时,我可以自己选中这些复选框,但是我有很多这样的复选框,每个复选框都有一个动态名称,所以我不确定如何调用它们。我的想法是: $('input[name=("favourite" + id)]').attr('checked', true); 可能有用,但没有运气。如果我没有对选中

我有一个复选框,当单击它时,它会将表单提交给服务器以存储详细信息。所有工作正常,除了在表单提交后,我更新了一个div,表示已提交,但复选框没有勾选。当然,页面不会被刷新,在页面刷新时,它会被勾选

我想在使用jQuery时,我可以自己选中这些复选框,但是我有很多这样的复选框,每个复选框都有一个动态名称,所以我不确定如何调用它们。我的想法是:

$('input[name=("favourite" + id)]').attr('checked', true);
可能有用,但没有运气。如果我没有对选中的复选框调用函数,复选框将正常运行


感谢您提供的一切帮助。

您应该中断字符串,以便将
id
变量的值引入选择器,您可以这样做:

$('input[name="favourite' + id + '"]').attr('checked', true);
试着做

$('input[name=("favourite" + id)]').checked = true;
相反

问题可能是,设置属性不会被浏览器自动解释为更改DOM属性。这有点让人困惑,但在Firefox等浏览器上,HTML属性和DOM属性是分开存储的(大多数名称相同,但也有例外,例如
class
属性由
className
属性表示)


更改属性会影响元素的行为,而属性并不总是具有相同的效果-在某些浏览器上,它们仅在初始渲染期间被解析。

您没有提供所有的细节,因此我打赌是2号门,并猜测您在字段的id/名称中有一个输入错误。也许是简单的一个“-”而不是一个“"”。我经常遇到这种情况。只需选中,我就可以使用类似的文档检索复选框的值。getElementsByName(“Favorite”+id),所以我不这么认为。如果你想的话,我可以发布更多的代码,但我不认为这会让人感到困惑。我想我可以通过修复发布的行来解决它。我在$('#msg'+id).html(“已提交”)下面做这件事,效果很好。还有$('input[name=('favorite“+id)]).attr('checked','checked');由于checked属性应该是字符串,因此可能会提供更好的结果。然而,我发现上述方法的效果更加一致。