代码之家  ›  专栏  ›  技术社区  ›  user5813072

jquery可排序函数在视图中不工作(mvc)

  •  -1
  • user5813072  · 技术社区  · 8 年前

    我使用jQueryUI-sortable使我的表格网格可排序。然而,我的元素仍然没有重新排序,也没有显示错误。我从未在asp中使用过这种方法。净mvc。

    很高兴能得到一些指导,谢谢。

    <script type="text/javascript">
    
    $('td, th', '#MenuItem').each(function () {
        var cell = $(this);
        cell.width(cell.width());
    });
    
    $('#MenuItem tbody').sortable().disableSelection();
    

    <table id = "MenuItem"  class="promo full-width alternate-rows" style="text-align: center;">  
                <tr>
                    <th>Prode Code
                    </th>
                    <th>ProdeTemplate
                    </th>
                    <th>Description <!-- JACK EDIT -->
                    </th>
                    <th>Action</th>
                </tr>
                <tbody>
                @foreach (var item in Model.IndexListitem)
                {
    
    
                    <tr>
                        <td class="center-text">
                            @Html.DisplayFor(modelItem => item.ProductCode)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.ProdeTemplate.Description)
                        </td>
                        <td>
                            @Html.DisplayFor(modelItem => item.Description)
                        </td>
    
                        <td class="center-text nowrap">
                            @Html.ActionLink(" ", "Edit", new { id = item.ProdeID }, new { title = "Edit", @class = "anchor-icon-no-text edit" })
                            @Html.ActionLink(" ", "Details", new { id = item.ProdeID }, new { title = "Details", @class = "anchor-icon-no-text details" })
                            @Html.ActionLink(" ", "Delete", new { id = item.ProdeID }, new { title = "Delete", @class = "anchor-icon-no-text delete" })
                        </td>
                    </tr>
    
                }
    
                    </tbody>
    
            </table>
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Knu8 Santosh Pavate    8 年前

    我不太熟悉 @Html and @foreach 注释。然而,我认为这些注释是在服务器端处理的。因此,实际上您正在尝试通过jquery选择一些尚未生成的html元素。

    一种解决方案是将以下整个代码块放在文档中。就绪块

    // A $( document ).ready() block.
    $( document ).ready(function() {
    $('td, th', '#MenuItem').each(function () {
    var cell = $(this);
    cell.width(cell.width());
    });
    
    $('#MenuItem tbody').sortable().disableSelection();
    
    });