在我有一个表单中,有两个复选框,说Master和Slave。无论何时检查主站,都需要检查从站(尽管从站可以通过单独点击来取消选中)。在表单加载 - 主设置为检查(默认值),这意味着从机也需要检查。如何在Internet Explorer中使用jQuery切换复选框状态
然后,我有一些onChange事件处理程序,它根据主服务器的状态手动检查和取消选中从服务器。这是它不起作用的地方,只是在IE中。它在其他浏览器中工作正常。我不知道为什么会发生这种情况。
我正在使用jQuery和一些只能在选中的图像和未选中的图像之间切换的css类。这只是与复选框CSS(视觉/图形)相关的问题。该复选框的值仍然为真。
下面是代码
dojo.ready(function() {
// some code removed for simplicaity sake
$("#militaryOfficial").attr("checked", true);
$("#waiveTax").attr("checked", true);
}
$('#militaryOfficial').click('change', toggleTaxWaive);
});
function toggleTaxWaive(){
if($("#militaryOfficial").is(':checked'))
{
if(!$("#waiveTax").is(':checked'))
{
$("#waiveTax").trigger("click");
}
}else
{
$("#waiveTax").attr('checked', false);
}
}
的HTML是非常基本的。根据评论中的要求添加
<div class="checkBox_Border">
<span class="cds_spanCheck" style="background: url("/images/checkbox_nonSelect.png")
no-repeat scroll 0% 0% transparent;"></span>
<span class="cds_spanCheck" style="background: url("/images/checkbox_Select.png") no-
repeat scroll 0% 0% transparent;"></span>
<input id="waiveTax" class="checkBox_innerWrap" type="checkbox" checked="checked"
value="true" name="waiveTax">
</div>
请指教。任何帮助非常感谢。
你可以张贴一些HTML? – 2012-02-25 08:11:15
或者至少将它张贴在小提琴上。 – Oybek 2012-02-25 08:16:32
在发布的代码中有几个严重的语法错误:这不会在任何地方工作。我想这只是一个复制粘贴问题。例如。 addResetButton();需要“function(){”而不是“;”最后。 但是,您可以尝试设置已检查的属性,如下所示: some_input.prop('checked','checked'); 并取消选中它: some_input.prop('checked',''); 适用于所有浏览器。可能IE混淆了真/假... – 2012-02-25 08:32:16