【问题标题】:CheckBox's jquery onchange() not work in mozila firefoxCheckBoxes jquery onchange() 在 mozilla firefox 中不起作用
【发布时间】:2017-05-23 11:34:52
【问题描述】:

在复选框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);
            }
        });
    });
}

【问题讨论】:

  • 抱歉@RoryMcCrossan 发布了错误的代码。添加了修改后的代码!
  • 你在 jQuery 的就绪处理程序中定义了my() 吗?如果是这样,那是您的问题 - 它需要在 window 的范围内,因为您使用的是 on* 事件属性
  • 请定义“不起作用”。
  • @RoryMcCrossan 现在可以正常工作但是浏览器显示“ReferenceError: citfc is not defined”
  • 你能把你的代码上传到fiddler吗

标签: javascript c# jquery asp.net checkbox


【解决方案1】:

根据当前的实现,每当checked 状态发生变化时,不显眼的click 事件处理程序就会使用内联change 处理程序附加到元素。

要执行所需的选项,请使用不显眼的事件处理程序并删除 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);
    }
}

【讨论】:

    【解决方案2】:

    试试这个......它可能会工作

        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 函数中也调用相同的函数

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

    【讨论】:

      猜你喜欢
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      相关资源
      最近更新 更多