CheckBox 的 jquery onchange() 在 mozila firefox 中不起作用



在复选框onchange()事件我正在尝试隐藏/显示两个文本框,但我遇到了问题。CheckBox的jQuery onchange() IE中工作,但在Mozilla Firefox中不起作用。我搜索了很多文章,但没有看到任何合适的答案。那怎么办?

对不起,我的英语不好。

<asp:CheckBox ID="chk_citfc" runat="server" onchange="citfc()" Text="is applicable" />
function citfc() {
    $(function() {
        $('#<%=chk_citfc.ClientID %>').click(function() {
            if ($(this).is(":checked")) {
                $('#<%=TXT_CITFC.ClientID %>').show(1000);
                $('#<%=hfnumber.ClientID %>').show(1000);
            } else {
                $('#<%=TXT_CITFC.ClientID %>').hide(1000);
                $('#<%=hfnumber.ClientID %>').hide(1000);
            }
        });
    });
}

试试这个....它可能会起作用

    function citfc() {
        if ($('#<%=chk_citfc.ClientID%>').is(':checked')) 
    {
            $("#<%=TXT_CITFC.ClientID%>").css("display", "block");
        }
        else
    {
            $("#<%=TXT_CITFC.ClientID%>").css("display", "none");             
        }
        }
var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function(s, e) {
        citfc();
    });

还要在文档就绪函数中调用相同的函数

  $(document).ready(function() {
        citfc();
    });
根据

当前的实现,每当状态更改时,不显眼的click事件处理程序都会使用内联change处理程序附加到元素checked

要执行所需的选项,请使用不显眼的事件处理程序并摆脱onchange="citfc()"

.HTML

<asp:CheckBox ID="chk_citfc" runat="server" Text="is applicable" />

脚本

$(function() {
    $('#<%=chk_citfc.ClientID %>').change(function() {
        if (this.checked) {
            $('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').show(1000);
        } else {
            $('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').hide(1000);
        }
    });
});

或者,正确使用内联事件处理程序

<asp:CheckBox ID="chk_citfc" runat="server" onchange="citfc(this)" Text="is applicable" />
function citfc(element) {
    if (element.checked)) {
        $('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').show(1000);
    } else {
        $('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').hide(1000);
    }
}

最新更新