2013-04-29 66 views
0

我有一小部分基於單擊複選框隱藏/顯示兩個元素的Jquery。現在,這在Firefox中完美工作,但是當我在IE8中測試時,切換將僅在單擊文本框然後單擊TR中的任意位置後才起作用。這裏是我的複選框代碼:Jquery只在點擊表格行後才能切換IE8

<input type="checkbox" id="[email protected](Model.QuoteLineKey)" name="[email protected](Model.QuoteLineKey)" checked="@(Model.HasNoEndOfSupportDate)" onchange='javascript: noEOS(@(Model.QuoteLineKey)); return false;'/> 

這裏是我的jQuery函數

function noEOS(id) { 

     $('#spanNoEOS' + id).toggle(); 
     $('#spanEOS' + id).toggle(); 
     if ($('#noEOS' + id).is(':checked')) { 
      $('#EndOfSupportDate' + id).val(''); 
     } else { 
      $('#EndOfSupportDate' + id).val($('#CoTermExpiryDate').val()); 
     } 
    } 

我曾試圖改變.toggle到下面沒有成功。

var elem = $('#spanNoEOS' + id)[0]; 
    if (elem.style.display == 'none') 
     $('#spanNoEOS' + id).show(); 
    else { 
     $('#spanNoEOS' + id).hide(); 
    } 
    var elem2 = $('#spanNoEOS' + id)[0]; 
    if (elem2.style.display == 'none') 
     $('#spanEOS' + id).show(); 
    else { 
     $('#spanEOS' + id).hide(); 
    } 
+0

郵完整代碼重現您的問題或創建的jsfiddle - IE和FF對DOM許多特定threatment和VAR關閉 – 2013-04-29 11:55:34

+0

重複:http://stackoverflow.com/questions/10579019/onchange-on-radiobutton-not-working-correctly-in-ie8 – 2013-04-29 11:55:35

回答

0

試試這個

var e = $('#spanEOS' + id); 
    e.is(':hidden') ? e.show() : e.hide(); 

    var e2 = $('#spanNoEOS' + id); 
    e2.is(':hidden') ? e2.show : e2.hide(); 
+0

同樣的事情發生在IE8中,tr需要點擊hide/show來工作。 – 2013-04-29 12:56:24