JQuery隐藏带有枚举列表的表

时间:2010-09-16 02:57:15

标签: c# jquery asp.net-mvc

我有以下内容将枚举模型并添加发票和日期。 然后,我希望有一个表格,其中包含该发票的行项目,每个发票都可以折叠。我不知道在枚举模型时如何做到这一点,我不知道如何对表进行唯一ID,然后我不知道如何告诉jquery函数我们需要隐藏哪个表。

这是我现在的代码。我在表格旁边添加了一条我想要隐藏的评论。它上面有一个锚标记,它调用javascript函数,其中jquery hide函数是

 <table class="themedtable"
    cellspacing="0">
    <tr>
        <th style="text-align: left">
            Invoice
        </th>
        <th>
            Order Date
        </th>
    </tr>
    <% foreach (var item in Model)
       { %>
    <tr>
        <td style="text-align: left">
            <strong>
                <%=Html.Encode(item.Invoice)%></strong>
        </td>
        <td>
            <%=Html.Encode(String.Format("{0:d}",item.invcte))%>
        </td>
    </tr>
    <tr>
        <td colspan="2">
            <a href="javascript:toggletable()">Show/Hide Table</a>
        </td>
    </tr>
    <%if (item.LineItemList.Count > 0)
   { %>
    <tr>
        <td>
            <table style="margin-left: auto; margin-right: auto; width: 90%" cellspacing="0">  //this is the table i need to id and collapse when the above link is clicked
                <tr>
                    <th>
                        Part
                    </th>
                    <th>
                        Desc
                    </th>
                    <th>
                        Qty
                    </th>
                    <th>
                        Qty Shipped
                    </th>
                    <th>
                        Status
                    </th>
                </tr>
                <%foreach (var lineItem in item.LineItemList)
                    { %>
                <tr>
                    <td style="width: 10%">
                        <%=Html.Encode(lineItem.Partno) %>
                    </td>
                    <td style="width: 50%">
                        <%=Html.Encode(lineItem.Description) %>
                    </td>
                    <td style="width: 10%">
                        <%=Html.Encode(lineItem.Qty) %>
                    </td>
                    <td style="width: 20%">
                        <%=Html.Encode(lineItem.QtyShipped) %>
                    </td>
                    <td style="width: 10%">
                        <%=Html.Encode(lineItem.Status) %>
                    </td>
                </tr>
                <%} %>
            </table>
        </td>
    </tr>
    <%} %>
    <%} %>
</table>

<script type="text/javascript">
    function toggletable() {
        $(//selector).hide();
    }

1 个答案:

答案 0 :(得分:1)

这是我的两分钱。我认为你可能会以一种让你的生活变得艰难的方式接近这一点。

我要做的是以下内容。

  1. 如果您愿意,可以添加发票 将点击事件附加给他们。
  2. 点击发票,执行Ajax 回发,使用jQuery来获取 订单项。
  3. 然后你的ActionResult应该抓住 那些订单项,将它们传递给 PartialView并返回 PartialView回到客户端。
  4. 然后在你的成功jQuery Ajax中 方法,你替换的内容 带有返回HTML的div。
  5. 这可以节省页面上的大量数据,并使其看起来非常整洁。