隐藏复选框和标签

时间:2012-09-25 07:31:08

标签: javascript jquery asp.net

情景: 我在转发器中有一个ul和li以及一个复选框和标签,它们一起形成一个复选框列表。我有一个控制复选框行为的javascript文件。 我成功用javascript代码隐藏了复选框,但是当我试图隐藏标签时它没有用。

我将发布代码ASP.NET以便更好地理解:

<asp:Repeater ID="Repeater1" runat="server" DataSource="<%# GetSecondAreas(CurrentLocationName) %>">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li class="area">
<input type="checkbox" class="category" value="<%# string.Concat(CurrentLocation.Area1,"| ", CurrentLocation.Area2)%>" />
<label>
<%#CurrentLocation.Area2%>
</label>
<asp:Repeater ID="Repeater2" runat="server" DataSource="<%# GetThirdAreas(CurrentLocation.Area2) %>">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<input type="checkbox" class="category" value="<%#string.Concat(CurrentLocation.Area1,"| ", CurrentLocation.Area2,"| ", CurrentLocation.Area3)%>" />
<label id="last">
<%#CurrentLocation.Area3%>
</label>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>

这是javascript代码:

function updateByArea(current) {
//If current is unchecked => uncheck all child checkboxes
if (current.attr("checked") == null || current.attr("checked") == "")
    $j(".area ul li input[value^='" + current.val() + "']:checked").removeAttr("checked").hide(); //checkbox
    $j('label[id="id_val"]').hide();
$j("#searchFilter .area>input:checkbox:checked").each(function (i, item) {
    $j(".area ul li input[value^='" + $j(item).val() + "']:not(:checked)").attr("checked", "checked").show(); //checkbox
    $j('label[id="id_val"]').show();
});

}

我在这里发布的是我为id =“last”

的标签尝试的内容

问题:

我是否更正了标签的javascript代码,所以当我勾选复选框以隐藏并同时显示复选框和标签时?

P.S:关于我现在的代码,它只隐藏了复选框。

提前谢谢

1 个答案:

答案 0 :(得分:1)

变化

.hide();

.parent().hide();

这将选择父[应该是li]并隐藏它。