Как найти имя RadioButtonList, идентификатор, класс (атрибуты CSS), который присутствует в заполнителе содержимого с помощью JavaScript
Я использую мастер-страницу в своем проекте веб-форм. Я размещаю код под заполнителем.
<asp:RadioButtonList ID="ckbLstPartner" runat="server" name="ckbLstPartner"
RepeatDirection="Horizontal"
CssClass="cssRdlstMoheSacm" Height="85px" Width="430px">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:TextBox ID="trSetPartnerNamesAvailability" value="trSetPartnerNamesAvailability" runat="server"></asp:TextBox>
<asp:TextBox ID="trSetPartnerInfoAvailability" value="trSetPartnerInfoAvailability" runat="server"></asp:TextBox>
<br />
<br />
<asp:TextBox ID="txtPartnersName" value="txtPartnersName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtReqScoreCourseAccept" value="txtReqScoreCourseAccept" runat="server"></asp:TextBox>
<asp:TextBox ID="txtCourseAcceptNote" value="txtCourseAcceptNote" runat="server"></asp:TextBox>
И я использую код JavaScript для работы с некоторыми функциями.
JS CODE:
$(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('');
}
});
});
когда я запускаю приложение, список переключателей переключается, как показано ниже
Вывод браузера:
<table id="ContentPlaceHolder1_ckbLstPartner" class="cssRdlstMoheSacm" style="height:85px;width:430px;">
<tr>
<td><input id="ContentPlaceHolder1_ckbLstPartner_0" type="radio" name="ctl00$ContentPlaceHolder1$ckbLstPartner" value="1" /><label for="ContentPlaceHolder1_ckbLstPartner_0">Yes</label></td><td><input id="ContentPlaceHolder1_ckbLstPartner_1" type="radio" name="ctl00$ContentPlaceHolder1$ckbLstPartner" value="0" /><label for="ContentPlaceHolder1_ckbLstPartner_1">No</label></td>
</tr>
</table>
<br />
<input name="ctl00$ContentPlaceHolder1$trSetPartnerNamesAvailability" type="text" id="ContentPlaceHolder1_trSetPartnerNamesAvailability" value="trSetPartnerNamesAvailability" />
<input name="ctl00$ContentPlaceHolder1$trSetPartnerInfoAvailability" type="text" id="ContentPlaceHolder1_trSetPartnerInfoAvailability" value="trSetPartnerInfoAvailability" />
<br />
<br />
<input name="ctl00$ContentPlaceHolder1$txtPartnersName" type="text" id="ContentPlaceHolder1_txtPartnersName" value="txtPartnersName" />
<input name="ctl00$ContentPlaceHolder1$txtReqScoreCourseAccept" type="text" id="ContentPlaceHolder1_txtReqScoreCourseAccept" value="txtReqScoreCourseAccept" />
<input name="ctl00$ContentPlaceHolder1$txtCourseAcceptNote" type="text" id="ContentPlaceHolder1_txtCourseAcceptNote" value="txtCourseAcceptNote" />
<br />
По этой причине мой код js не работает (в частности, if ($("input[name='<%=ckbLstPartner.ClientID %>'][value='1']").prop("checked")) {}
". Это не может быть проверено, если условие). Поэтому, пожалуйста, помогите мне, как найти имя, идентификатор, класс (атрибут CSS) в JavaScript.
Когда я использую ту же логику в веб-формах без использования мастер-страницы работает нормально.
С уважением
2 ответа
Я решил эту проблему с помощью приведенного ниже кода:
if ($("input[name='ctl00$ContentPlaceHolder1$ckbLstPartner'][value='1']").prop("checked")) {}
Вы можете получить значение,.....
$ ("# ContentPlaceHolder1_trSetPartnerNamesAvailability") Вал ().
Соответствующий ответ
$("input[name='<%=ServerSideControlName.UniqueID%>']:checked").val();
и в вашем случае
$("input[name='<%=trSetPartnerNamesAvailability.UniqueID%>']:checked").val();