从动态表中获取每个单元格的值

时间:2015-10-26 09:42:14

标签: javascript c# jquery

我有像这样创建的动态表

<table id="sort" class="table">
                <thead>
                    <tr>
                        <th>Nazwa kolumny z BD*</th>
                        <th>Długość rekordu*</th>
                        <th>Nazwa kolumny wyświetlana</th>
                        <th>Format*</th>
                    </tr>
                </thead>
                <tbody id="tblsort">
                    @for (var i = 0; i < Model.listOfFormats(Model.field.TemplateName).ColumnNamesDB.Count; i++)
                    {
                        <tr>
                            <td>@Html.TextBoxFor(m => Model.listOfFormats(Model.field.TemplateName).ColumnNamesDB[i], new { @class = "form-control", })</td>
                            <td>@Html.TextBoxFor(m => Model.listOfFormats(Model.field.TemplateName).LengthColumns[i], new { @class = "form-control" })</td>
                            <td>@Html.TextBoxFor(m => Model.listOfFormats(Model.field.TemplateName).ColumnNamesUser[i], new { @class = "form-control" })</td>
                            <td>@Html.DropDownListFor(m => Model.listOfFormats(Model.field.TemplateName).Formats[i], new SelectList(Model.formatFieldValues, "Value", "Text"), Model.listOfFormats(Model.field.TemplateName).Formats[i], new { @class = "form-control" })</td>
                        </tr>
                    }
                </tbody>
            </table>

如何从此表中的每个cel中获取价值?谢谢你的帮助!

编辑:

好的我的意思是每个细胞数据。

我尝试了你的解决方案,但没有任何作用

这是我的.html,它是由浏览器生成的

<tbody id="tblsort">
                        <tr>
                            <td name="cos"><input class="form-control" id="ColumnNamesDB_0_" name="ColumnNamesDB[0]" type="text" value="zzzz" /></td>
                            <td><input class="form-control" id="LengthColumns_0_" name="LengthColumns[0]" type="text" value="111" /></td>
                            <td><input class="form-control" id="ColumnNamesUser_0_" name="ColumnNamesUser[0]" type="text" value="zzzzz" /></td>
                            <td><select class="form-control" id="Formats_0_" name="Formats[0]"><option value=""></option>
<option value="DD-MM-YYY">DD-MM-YYY</option>
<option value="DDMMYYY">DDMMYYY</option>
<option value="NRB">NRB</option>
</select></td>
                            </tr>
                    </tbody>

当我运行此代码时:

 var value = $("#ColumnNamesDB[0]").attr('value');
    var bla = $('.ColumnNamesDB_0_').val();

    alert(bla);
    alert(value);

我得到&#34;未定义&#34;。怎么了?

2 个答案:

答案 0 :(得分:1)

我不知道你的意思&#34;值&#34;,但你可以使用jQuery each()

迭代每个<td>
$(function() {

  var myArray = [];

  $('#tblsort td input').each(function() {
    var input = $(this),
      value = input.attr('value');

    myArray.push(value);
  });
  console.log(myArray);
});

答案 1 :(得分:0)

如果您的意思是想要获取所有单元格的数据。所以你必须给出&#34; name&#34;属性到每个单元格,并使用名称..

获取所有数据
<td name="example[]"></td>

你可以使用你想要的语言(Jquery或PHP)来获取它..