我在用户控件中有一个复选框。我把用户控件放在第5页。复选框仅适用于第一次

时间:2015-12-31 13:27:03

标签: jquery asp.net

我在用户控件中有一个复选框,我将用户控件放在网页第5次。但只有一个复选框在此页面内的所有用户控件中工作和生效,其他第四个复选框不起作用。因此,如何使每个复选框独立工作或分离。 这是用户控件:

<div dir="rtl" id='<%=uniqueKey %>'>
    <input type="checkbox" id="chkGregDate" runat="server" name="cland" value="1" />ميلادي
    <input type="text" id="txtHijri_Date" runat="server" style="width: 90px" />
    <input type="text" id="txtHijri_Date_EN" runat="server" style="width: 90px" />
    <a id="imgCalendar" onclick="x<%=uniqueKey %>();">
        <img id="imgCalendarss" src="../images/Smallcalendar.png" height="27px" alt='' />
    </a>
</div>

Jquery功能:

jQuery(function() {
     jQuery('#<%=chkGrog.ClientID%>').change(
   function () {
   if (jQuery('#<%=chkGrog.ClientID%>').is(':checked')){
            jQuery('#<%=txtHijri_Date_EN.ClientID %>').show();
        jQuery('#<%=txtHijri_Date.ClientID %>').hide();
    } else {
        jQuery('#<%=txtHijri_Date_EN.ClientID %>').hide();
        jQuery('#<%=txtHijri_Date.ClientID %>').show();
    }
 }).change();

1 个答案:

答案 0 :(得分:0)

您需要将正确的客户端ID传递给您的用户控件。如果您使用的是.NET 4.0及更高版本,则可以使用静态模式 - &gt;设置ClientIDMode="Static"

例如: <asp:TextBox ID="txtName" runat="server" ClientIDMode="Static" />

否则您需要传递客户端ID。

请记住,客户端ID正在根据容器页面动态更改。

$(# + ClientId + "txtGreg_Date_EN").show();

修改

由于您在用户控件中使用.NET 4更新TextBoxes

<input type="text" id="txtHijri_Date" runat="server" style="width: 90px" ClientIDMode="Static" />
<input type="text" id="txtGreg_Date_EN" runat="server" style="width: 90px" ClientIDMode="Static" />