Javascript 运行函数时未选中复选框
我有一个复选框,当单击它时,它会将表单提交给服务器以存储详细信息。所有工作正常,除了在表单提交后,我更新了一个div,表示已提交,但复选框没有勾选。当然,页面不会被刷新,在页面刷新时,它会被勾选 我想在使用jQuery时,我可以自己选中这些复选框,但是我有很多这样的复选框,每个复选框都有一个动态名称,所以我不确定如何调用它们。我的想法是:Javascript 运行函数时未选中复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个复选框,当单击它时,它会将表单提交给服务器以存储详细信息。所有工作正常,除了在表单提交后,我更新了一个div,表示已提交,但复选框没有勾选。当然,页面不会被刷新,在页面刷新时,它会被勾选 我想在使用jQuery时,我可以自己选中这些复选框,但是我有很多这样的复选框,每个复选框都有一个动态名称,所以我不确定如何调用它们。我的想法是: $('input[name=("favourite" + id)]').attr('checked', true); 可能有用,但没有运气。如果我没有对选中
$('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属性应该是字符串,因此可能会提供更好的结果。然而,我发现上述方法的效果更加一致。