0

我有少量的 Jquery,它根据单击复选框来隐藏/显示两个元素。现在这在 Firefox 中完美运行,但是当我在 IE8 中测试时,只有在单击文本框然后单击 TR 中的任意位置后,切换才会起作用。这是我的复选框代码:

<input type="checkbox" id="noEOS@(Model.QuoteLineKey)" name="noEOS@(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();
    }
4

1 回答 1

0

尝试这个

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

   var e2 = $('#spanNoEOS' + id);
   e2.is(':hidden') ? e2.show : e2.hide();
于 2013-04-29T12:05:35.423 回答