gpt4 book ai didi

javascript - 无法使用 JQuery 勾选复选框

转载 作者:行者123 更新时间:2023-11-30 18:55:22 31 4
gpt4 key购买 nike

我在通过 JQuery 检查复选框时遇到问题 - 我已经这样做了:

if(element[1]==3)
alert('#'+element[0]+'_1');//shows #chk_1
$('#'+element[0]+'_1').attr('checked', true);
$('#'+element[0]+'_2').attr('checked', true);
$('#'+element[0]+'_3').attr('checked', true);
}

我知道它到了那个点,因为我可以看到带有正确变量名称的警报窗口。我还包括了 JQuery,我的 Firebug 没有提示任何错误,它只是没有发生任何事情。

我还有一些在用户点击时激活的其他功能:

onclick="checker($(this).attr('id'));" 

这实质上是检查用户是否被允许勾选复选框,但如果我使用上述方法,这不应该被激活,对吗?另外,我以保留这些规则并允许用户勾选复选框的方式完成了自动勾选。

我能够单击复选框,并且这些规则检查在检查器功能中正确完成。

帮助!坦率地说,我不知道哪里出了问题。

我很感激你的帮助。

更新

根据 Pekka 的建议,我发现 JQuery 函数似乎没有工作,例如:

$('#'+element[0]+'_1').hide();

什么也没做。所以这意味着元素的ID有问题?但是该元素确实存在并且名称正确!

我已经给了复选框一个值并尝试了这个:

alert($('#'+element[0]+'_1').val());

我得到“undefined”返回!为什么?

更新2

测试是否被选中:

$('#'+element[0]+'_1').attr('checked', true);

if ($('#'+element[0]+'_1'+':checked').val() !== null) {
alert('#'+element[0]+'_1');
}

这显示了警告框。所以它似乎已被选中,但我看不到它?

更新-解决方案

不要像我一样菜鸟并用以下代码包装 JQuery 代码:$(document).ready(function() {

我设法浪费了每个人的时间,但没有这样做,我认为从现在开始,这段代码将成为我的标准。

感谢大家一直以来的帮助! :) 我必须把提到文档加载的人 [lillq] 交给他!

最佳答案

一个想法是:

如果您的 html 中有多个 chk_1, chk_2, chk_3 id,则 $('#'+element[0]+'_2').attr('checked ', true); 只会影响文档中的第一个。

我运行了您提供的代码:

html

...
<body>
<input type="checkbox" id="el1" onclick="checker($(this).attr('id'));" />Text<br />
<input type="checkbox" id="el2" onclick="checker($(this).attr('id'));" />Text<br />
<input type="checkbox" id="el3" onclick="checker($(this).attr('id'));" />Text<br />
</body>
</html>
<script type="text/javascript">
init();
</script>

JavaScript

function init () {
$('#el1').attr('checked', true);
$('#el2').attr('checked', true);
$('#el3').attr('checked', true);
}
function checker(id)
{
alert(id);
}

此处的 init 函数会在文档加载后检查所有复选框。您是否还有其他信息可以帮助我们。

我喜欢将这样的示例简化为最简单的失败代码。

关于javascript - 无法使用 JQuery 勾选复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302887/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com