【问题标题】:asp checkbox not firing jquery functionasp复选框不触发jquery函数
【发布时间】:2011-08-26 01:03:46
【问题描述】:

好的,我已经检查了几个解决方案,但都没有运气。我到底做错了什么。我可以从 check_controls 中检索 ID,执行警报 onload 但不能更改

<asp:CheckBox ID="chkAutoReverse" runat="server" CssClass="" Width="200px" 
     Text="Auto Reverse:" TextAlign="Right" AutoPostBack="false" />

$(document).ready(function() {
    var check_controls = $('input[id*=chkAutoReverse]');
    var AutoReverseOptions = document.getElementById('AutoReverseOptions');

    $(check_controls).change(function() {
        if ($(this).is(':checked')) {
            alert($(check_controls).attr("id"));

        } else {
            alert($(AutoReverseOptions).attr("id"));
        }
    });
});

额外的 html 标记

                            <div style="height: 60px">
                            <div class="singlepanelcontentleft">
                                <asp:CheckBox ID="chkAutoReverse" runat="server" CssClass="" Width="200px" Text="Auto Reverse:"
                                    TextAlign="Right" AutoPostBack="false" /></div>
                            <div id="AutoReverseOptions" class="singlepanelcontentleft" style="display: none;">
                                <asp:RadioButtonList ID="optTabs" runat="server" RepeatDirection="Horizontal" RepeatLayout="Table"
                                    Width="91%" Height="22px">
                                    <asp:ListItem Text="Next Period" Value="1" Selected="true"></asp:ListItem>
                                    <asp:ListItem Text="2 Periods from Now" Value="2"></asp:ListItem>
                                    <asp:ListItem Text="3 Periods from Now" Value="3"></asp:ListItem>
                                </asp:RadioButtonList>
                            </div>
                        </div>

这嵌套在其他 div 和字段集中。粘贴其他代码效果不好

【问题讨论】:

  • 我用你的代码创建了一个演示页面,它对我来说很好用。标记的其余部分是什么样的?
  • @Rick,我更新了原帖

标签: jquery asp.net


【解决方案1】:

您应该使用以下方式引用 asp.net ID:

<%= chkAutoReverse.ClientID %>

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      点击事件比更改事件更适合监听复选框。


      属性选择器需要用引号括起来:

      var check_controls = $('input[id*="chkAutoReverse"]');
      

      【讨论】:

        【解决方案4】:

        好的,我找到了答案。您可以获取详细信息here。它将控件归结为更新面板中的控件,并且在面板加载时不重新订阅 jQuery 事件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 2018-01-19
          • 2018-07-30
          • 1970-01-01
          相关资源
          最近更新 更多