我有一个ASP.NET CheckBoxList:
<asp:CheckBoxList ID="CheckBoxList1" runat="server" Width="10%">
<asp:ListItem Selected="True" Value="1">White</asp:ListItem>
<asp:ListItem Selected="False" Value="2">Black</asp:ListItem>
<asp:ListItem Value="3">Red</asp:ListItem>
<asp:ListItem Value="4">Green</asp:ListItem>
<asp:ListItem Value="5">Blue</asp:ListItem>
</asp:CheckBoxList>
我需要在CheckBoxList中修改/删除特定CheckBox的特定标签:
以下代码适用于CheckBox值,但它不适用于CheckBox标签。
var CheckBoxListInputValue = 3; //value may be dynamic
var CheckBoxListInputInnerHTML = "Red"; //value may be dynamic
$("#CheckBoxList1 label[innerHTML =" + CheckBoxListInputInnerHTML + "]").remove(); //Not working
$("#CheckBoxList1 :input[value = " + CheckBoxListInputValue + "]").remove(); //Working
BTW,我不想使用任何for循环。
答案 0 :(得分:1)
asp.net从您的复选框列表中生成一个表,并且为了删除一个选项,您必须实际删除TR。以下代码删除样本上的红色选项,然后您可以使用动态值
更改红色 $('#CheckBoxList1 label').each(function () {
if ($(this).text() == 'Red') {
$(this).closest('tr').remove();
return false;
}
});
答案 1 :(得分:0)
您可以使用:contains
选择器:
$("#CheckBoxList1 label:contains(" + CheckBoxListInputInnerHTML + ")").remove();
请注意:input
选择器已弃用,您可以改为使用input
。