当复选框分配有 jQuery 时,勾选不再起作用
Posted
技术标签:
【中文标题】当复选框分配有 jQuery 时,勾选不再起作用【英文标题】:when checkbox has jQuery assigned to it, tick no longer works 【发布时间】:2012-03-08 18:14:31 【问题描述】:我的一个页面上的复选框有一个奇怪的问题。基本上我有一些 jQuery (下面)分配给它,这样当它被点击时,下面的字段会填充与上面相同的信息(与计费信息类似)但是当这个 jQuery 被分配给它时,勾选失败填写复选框。
我尝试了各种方法来手动勾选复选框,但无济于事,有人能解释一下这个问题吗?
$('#sameasbilling').toggle(function()
//assign value of billing firstname text input to variable 'firstname'
var firstname = $('input[name=billingfirstnames]').val();
//insert value of 'firstname' into delivery text input
$('input[name=deliveryfirstnames]').val(firstname);
$('#sameasbilling').attr("checked", checked);
,function()
$('input[name=deliveryfirstnames]').val("");
);
我尝试过的 jQuery(加上这两行的许多变体)来让自动收报机手动工作如下,它们都没有工作。
$('#sameasbilling').attr("checked", checked);
$('#sameasbilling').prop("checked", true);
提前致谢。丹。
【问题讨论】:
我认为问题更多出在 JQuerytoggle()
事件中。尝试将切换开关更改为 click()
事件,看看是否有帮助?
谢谢,原来问题出在 .toggle 函数上。
【参考方案1】:
在这种情况下,您对toggle()
方法的使用不正确,请改用click()
。试试这个:
$('#sameasbilling').click(function()
if ($(this).is(":checked"))
//assign value of billing firstname text input to variable 'firstname'
var firstname = $('input[name=billingfirstnames]').val();
//insert value of 'firstname' into delivery text input
$('input[name=deliveryfirstnames]').val(firstname);
else
$('input[name=deliveryfirstnames]').val("");
【讨论】:
感谢您的回复,完美运行。那么是我的 .toggle 函数格式错误还是 .toggle 导致了问题,可能是 .toggle 函数的工作方式?toggle()
语法本身是正确的,但将其放在 click()
处理程序中实际上意味着代码运行了两次。以上是关于当复选框分配有 jQuery 时,勾选不再起作用的主要内容,如果未能解决你的问题,请参考以下文章