asp复选框没有触发jquery函数

时间:2011-08-26 01:03:46

标签: jquery asp.net

好的我已经检查了几个解决方案并没有运气。我到底做错了什么。我可以从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和fieldset中。粘贴其他代码并不能很好地呈现

4 个答案:

答案 0 :(得分:1)

您应该使用以下内容引用asp.net ID:

<%= chkAutoReverse.ClientID %>

答案 1 :(得分:0)

答案 2 :(得分:0)

收听复选框可以更好地处理点击事件而不是更改事件。


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

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

答案 3 :(得分:0)

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