通过jquery处理c#中下拉列表事件

时间:2015-08-05 07:42:21

标签: javascript c# jquery

我在aspx文件中编写了代码

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
        <section>
            <div>
            <label>State</label>
            <label class="select">
                <asp:DropDownList ID="ddlState" runat="server" DataTextField="StateName" DataValueField="StateName">
                </asp:DropDownList><i></i>
            </label>
            </div>
        </section>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlCountry" />
    </Triggers>
</asp:UpdatePanel>

<div>
    <label>Country</label>
    <label class="select">
        <asp:DropDownList ID="ddlCountry" runat="server" ToolTip="Select country" DataTextField="CountryName"
        DataValueField="CountryID" AutoPostBack="true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">
        </asp:DropDownList><i></i>
        <asp:Label ID="lblSelectCountryFirst" Visible="false" Text="Please Select Country" runat="server" ForeColor="Red">
        </asp:Label>
    </label>
</div>

</section>

现在我希望当用户点击状态下拉列表时,标签lblSelectCountryFirst应该是可见的。如何在jquery中完成此任务。

1 个答案:

答案 0 :(得分:0)

使用OnClientClick并将visible=false更改为css样式display:none;。请参考下面给出的解决方案:

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
        <section>
            <div>
                <label>
                    State</label>
                <label class="select">
                    <asp:DropDownList ID="ddlState" runat="server" DataTextField="StateName" DataValueField="StateName">
                    </asp:DropDownList><i></i>
                </label>
            </div>
        </section>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlCountry" />

    </Triggers>
</asp:UpdatePanel>

<div>
    <label>
        Country</label>
    <label class="select">
        <asp:DropDownList ID="ddlCountry" runat="server" ToolTip="Select country" DataTextField="CountryName"
            DataValueField="CountryID" AutoPostBack="true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" OnClientClick="ShowCountryLabel();">
        </asp:DropDownList><i></i>
        <asp:Label ID="lblSelectCountryFirst" Text="Please Select Country" runat="server" ForeColor="Red" style="Display: none;"></asp:Label>
    </label>
</div>
</section>

//Jquery Code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
function ShowCountryLabel(){
    $("#lblSelectCountryFirst").show();
    __doPostBack('__Page', '');
}
</script>