在我有一個表單中,有兩個複選框,說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