JQuery读表行值

时间:2011-06-11 14:26:10

标签: jquery asp.net-mvc-3

我在网上尝试了不同的方法但没有任何工作。下面是我的表。

我想要ID和输入框的值。以下是我的表格。

<a id="procressGrid" class="deletePageLink" href="#" title="Delete Menu" >Process Grid</a>
<div class="gridDiv">
<table class="gridTable" cellspacing="0" cellpadding="0">
    <tr class="gridTitleRow">
        <td class="numberingTd width36">&nbsp;</td>

        <td class="iconLink width60">Sort Order</td>
        <td class="iconLink widthAuto">Display Name</td>
        <td class="iconLink widthAuto">Url Name</td>
        <td class="iconLink widthAuto">Active</td>
    </tr>
    @foreach (var grp in distMenu)
    { 
        @Html.Hidden("Id", @grp.Id)
        <tr class="gridRow">
            <td class="numberingTd">@(num++)</td>
            <td class="cellTd"><input name="code" class="numberField" type="text" value="@grp.Id" /></td>
            <td class="cellTd">@grp.DisplayName</td>
            <td class="cellTd ">@grp.UrlName Us</td>
            <td class="cellTd ">@grp.Active</td>
        </tr>
    }
</table>
</div>

1 个答案:

答案 0 :(得分:2)

HTML元素的ID应该是唯一的。 因此改变了您正在使用的HTML呈现。 检查JS函数getIDs,看看如何将ID作为数组。

<script type="text/javascript">
    function getIDs(){
     var dataArray = [];
     $.each($(".gridTable tr:not(.gridTitleRow)"), function(a, b){
        var id = $("input.idField", b).val();
                var code = $("input[name='code']", b).val();
                dataArray.push({
                 "id": id,
                 "code": code
                })
     });
     return  dataArray;
    }
</script>


<a id="procressGrid" class="deletePageLink" href="#" title="Delete Menu" >Process Grid</a>
<div class="gridDiv">
<table class="gridTable" cellspacing="0" cellpadding="0">
    <tr class="gridTitleRow">
        <td class="numberingTd width36">&nbsp;</td>

        <td class="iconLink width60">Sort Order</td>
        <td class="iconLink widthAuto">Display Name</td>
        <td class="iconLink widthAuto">Url Name</td>
        <td class="iconLink widthAuto">Active</td>
    </tr>
    @foreach (var grp in distMenu)
    { 
        <tr class="gridRow">
            <td class="numberingTd">
                            @(num++)
                            @Html.Hidden("Id_" + num, @grp.Id, new{class="idField"})
                        </td>
            <td class="cellTd"><input name="code" class="numberField" type="text" value="@grp.Id" /></td>
            <td class="cellTd">@grp.DisplayName</td>
            <td class="cellTd ">@grp.UrlName Us</td>
            <td class="cellTd ">@grp.Active</td>
        </tr>
    }
</table>
</div>