jquery是从表的第二行未定义的,但在第一行中有效

时间:2012-10-22 14:02:46

标签: jquery html asp.net-mvc-3

我在表格中显示数据,在表格​​中我有一个链接。如果用户单击该链接,我的目标是打开一个jquery对话框,其中包含要提交的表单。

问题是,如果我点击链接,从第2行到下行,它表示'jquery未定义',它找不到jquery。 但是,在第一行,如果我点击链接,它工作正常。

代码:

<script>
var linkObj;
$(function () {

    $('#ratingpopup').dialog({
        autoOpen: false,
        width: 450,
        resizable: false,
        modal: true,
        buttons: {
            "Send": function () {
                $("#edit-message").html(''); //make sure there is nothing on the message before we continue                         

                $("#updateRatingForm").submit();
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        },
        title:"Rating/Comment"
    });
    $("#rating").click(function () {
        linkObj = $(this);
        var dialogDiv = $('#ratingpopup');
        var viewUrl = linkObj.attr('href');
        $.get(viewUrl, function (data) {
            dialogDiv.html(data);

            var $form = $("#updateRatingForm");

            $form.unbind();

            dialogDiv.dialog('open');
        });
        return false;
    });

});
</script>

<div class="dataTable">
<table>

    <tr>
        <td>Ordernr.</td>
        <td>Dato</td>
        <td>Restaurant</td>
        <td>Address</td>
        <td>Delivery?</td>
        <td>Accepted?</td>
        <td colspan="3">Action</td>
    </tr>

    <%foreach (var i in Model)
  { %>
    <tr>
        <td><%:i.OrderNo %></td>
        <td>
        <%
        DateTime today = DateTime.Now;
        DateTime orderDate = Convert.ToDateTime(i.OrderDate);
        if (today.Date == orderDate.Date)
        {%>
        <b> i dag</b>
        <%}
        else
        { %>
        <%:i.OrderDate%>
        <%} %></td>
        <td><%:i.RestaurantInfo.Name %></td>
        <td><%:i.RestaurantInfo.Address %>, <%:i.RestaurantInfo.Postcode %></td>
        <td><%:i.IsForDelivery %></td>
        <td><%:i.IsAccepted %></td>

        <td><a href='<%:Url.Action("Add", "Rating", new { name = i.RestaurantInfo.Name     }) %>' id="rating">Rating</a></td> // this is the link
    </tr>
  <%} %>

</table>

</div>
<div id="ratingpopup"></div>

这对我来说有点奇怪......任何人都知道这种行为吗?

1 个答案:

答案 0 :(得分:3)

您正在复制每一行的ID,而是使用一个类 - 它默认只使用第一行ID,因为定义ID在页面上是唯一的。 (或者应该是自1999年的html规范以来)