如果选择all,则Javascript / jQuery禁用链接

时间:2011-09-14 21:28:10

标签: c# javascript html asp.net-mvc

我想知道是否有人可以通过一些javascript和MVC来帮助我。为了给出一些背景知识...在我的应用程序中有许多组,在这些组的保护下有各自的商店。以前,用户可以选择每个单独的商店,但是我想更改应用程序以让用户只选择该组。这反过来将选择该组下的所有单独商店,因为应用程序的基础工作必须保持不变。

这是现有的HTML页面......我已经改变了要隐藏的各个商店的复选框的样式。还有一些javascript可以检查所有,或者取消选中Group标题下的所有商店。现在我在javascript上需要的一点帮助是,如果用户点击选择,则选择链接将被禁用,反之亦然,取消选择链接。

如果有人可以提供帮助,我会非常感激。如果需要更多信息,请询问!

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <script type="text/javascript">
        function select(sectionId) {
            toggle(sectionId, "checked");
        }

        function deselect(sectionId) {
            toggle(sectionId, null);
        }

        function toggle(sectionId, checked) {
            $('[section$=' + sectionId + ']').each(function () { $(this).attr('checked', checked); });
        }

    </script>
    <div>
        <% int i = 0; %>
        <% Html.BeginForm(); %>
        <% { %>
        <% foreach (myApp.Web.Models.ShopGroup g in Model.Groups) %>
        <% { %>
        <div style="width:800px;">
            <div style="border-bottom: 1px solid;">
                <div style="font-weight: bold; width: 300px; float: left;">
                    <%: g.GroupHeader%>
                </div>
                <div style="line-height: 18px; vertical-align: middle; width: 250px; float: left;">
                    <a id="select" href="javascript:select(<%: i %>)" <%: ViewData["GROUP_ALL_SELECTED_" + g.GroupHeader] %>>
                        Select</a> / <a id="deselect" href="javascript:deselect(<%: i %>)" <%: ViewData["GROUP_ALL_SELECTED_" + g.GroupHeader] %>>
                            Deselect</a>
                </div>
                <div style="clear: both;">
                </div>
            </div>
        </div>
        <div style="margin-left: 10px; margin-top: 10px;">
            <% foreach (myApp.Data.Shop shop in g.Shops) %>
            <% { %>
            <div style="float: left; line-height: 18px; padding: 2px; margin: 2px; vertical-align: middle;
                border: 1px solid; width: 282px;">
                <input type="checkbox" style="display:none;" section="<%: i %>" name="SHOP_<%: shop.ShopID %>" <%: ViewData["SHOP_" + shop.ShopID] %>
                    style="vertical-align: middle; padding-left: 5px;" />
                <%= Html.TrimTextToLength(shop.Name)%>
            </div>
            <% } %>
        </div>
        <div style="clear: both; margin-bottom: 15px;">
            &nbsp;</div>
        <% i++; %>
        <% } %>
        <br />
        <br />
        <div class="btnFooter">
            <input type="submit" value="Update" />
        </div>
        <div style="clear: both;">
        </div>
        <% } %>
    </div>
</asp:Content>

1 个答案:

答案 0 :(得分:1)

分别使用以下代码展开deselectselect函数:

$("#deselect").css("visibility", "hidden");
$("#select").css("visibility", "hidden");

如果您想再次显示链接:

$("#deselect").css("visibility", "visible");
$("#deselect").css("visibility", "visible");