如何比较radiobuttonlist中所选值的值

时间:2014-02-15 09:55:36

标签: c# jquery asp.net

<asp:RadioButtonList ID="ckbLstPartner" runat="server" 
                                    RepeatDirection="Horizontal" CssClass="cssRdlstMoheSacm">
                                <asp:ListItem Text="Yes" Value="1"></asp:ListItem>
                                <asp:ListItem Text="No" Value="0"></asp:ListItem>
                                </asp:RadioButtonList>

每个人的美好的一天,我不知道为什么它没有采取行动当我比较val()与'1'以显示tr,请建议。

$('#<%=ckbLstPartner.ClientID %>').change(function () {
     if ($('#<%=ckbLstPartner.ClientID %>').find('option:checked').val() == '1') {

            $('#trSetPartnerNamesAvailability').show();
            $('#trSetPartnerInfoAvailability').show();
        }
        else {
            $('#trSetPartnerNamesAvailability').hide();
            $('#trSetPartnerInfoAvailability').hide();
            $('#<%= txtPartnersName.ClientID %>').val('');
            $('#<%= txtReqScoreCourseAccept.ClientID %>').val('');
            $('#<%= txtCourseAcceptNote.ClientID %>').val('');

1 个答案:

答案 0 :(得分:0)

像这样更改您的IF条件:

 $(document).ready(function () { 
        $('#<%=ckbLstPartner.ClientID %>').change(function () {
            if ($("input[name='<%=ckbLstPartner.ClientID %>'][value='1']").prop("checked")) {

                $('#<%=trSetPartnerNamesAvailability.ClientID%>').show();
                $('#<%=trSetPartnerInfoAvailability.ClientID%>').show();
            }
            else {
                $('#<%=trSetPartnerNamesAvailability.ClientID%>').hide();
                $('#<%=trSetPartnerInfoAvailability.ClientID%>').hide();
                $('#<%= txtPartnersName.ClientID %>').val('');
                $('#<%= txtReqScoreCourseAccept.ClientID %>').val('');
                $('#<%= txtCourseAcceptNote.ClientID %>').val('');
            }
        });
    });

注意:

1)在asp.net中,如果你给id,那么Name会自动与id相同。所以要小心“NAME”属性。基于名字我写下逻辑。

2)关于jquery的更多信息.Refer http://try.jquery.com/他们以简单的方式给出了jquery,并且还重视了就绪函数。

3)有关单选按钮列表更改事件逻辑的更多信息。请参阅How to check radio button is checked using JQuery?

更新的答案(如果有人使用上述逻辑的母版页): 当我们使用Master Page.We有两个内容占位符。一个用于头部分。另一个用于Body部分。所以我将我的javascript文件放在内容placeholder1中。参见下面的代码。

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script type="text/javascript">

            $(document).ready(function () { 
            $('#<%=ckbLstPartner.ClientID %>').change(function () {
                if ($("input[name='ctl00$ContentPlaceHolder1$ckbLstPartner'][value='1']").prop("checked")) {

                    $('#<%=trSetPartnerNamesAvailability.ClientID%>').show();
                    $('#<%=trSetPartnerInfoAvailability.ClientID%>').show();
                }
                else {
                    $('#<%=trSetPartnerNamesAvailability.ClientID%>').hide();
                    $('#<%=trSetPartnerInfoAvailability.ClientID%>').hide();
                    $('#<%= txtPartnersName.ClientID %>').val('');
                    $('#<%= txtReqScoreCourseAccept.ClientID %>').val('');
                    $('#<%= txtCourseAcceptNote.ClientID %>').val('');
                }
            });
        });
    </script>
    <style type="text/css">
        .cssRdlstMoheSacm
        {}
    </style>
</asp:Content>

上述两个代码与小修改相同,即99%相同,即

Webform不使用母版页

if ($("input[name='ckbLstPartner'][value='1']").prop("checked")) {}

使用母版页的WebForm:

if ($("input[name='ctl00$ContentPlaceHolder1$ckbLstPartner'][value='1']").prop("checked")) {}