【问题标题】:How to get data from inputs and put them in an array using jQuery?如何从输入中获取数据并使用 jQuery 将它们放入数组中?
【发布时间】:2015-03-15 03:46:09
【问题描述】:

我使用“for”循环(它有 81 个单元格)生成一个 9X9(行 = 9;列 = 9)表。

我还有一个整数数组 Model.grid[9, 9],其中 45 个随机元素为 0,其余为 1 到 9 的个位数。

然后我填充表格的单元格,如下所示:如果匹配的 grid[,] 元素是'0',那么我在当前单元格中放置一个输入框;如果匹配的 grid[,] 元素不是 '0'(从 1 到 9 的数字),那么我用匹配的 grid[,] 元素填充单元格。

所以代码看起来像这样:

1) 可视化表格:

@model Generator.GeneratorClass

@helper drawCells(int row)
{
   for (int i = 0; i < Model.cols; i++)
   {
      if(Model.grid[row, i] == 0)
      {
         <td>
            <input type="text" maxlength="1"/>
         </td>
      }
      else
      {
         <td>
            @Model.grid[row, i].ToString()
         </td>
      }
   }
}

@helper drawRows()
{
   for (int i = 0; i < Model.rows; i++)
   {
      <tr>@drawCells(i)</tr>
   }
}

2) HTML:

<div id="puzzle">
   <table border="1" id="puzzle-table">
      @drawRows()
   </table>
</div>
<button onclick="check()">
   Check
</button>

到目前为止,一切正常。用户最终应该填写 45 个空表的单元格。然后我想在用户单击表格下方的“检查”按钮后,使用 check() 函数创建一个新数组 fields[] 并用输入框中的值填充它。我用这个脚本,但它不起作用。

3) 脚本(不起作用):

function check() {
   var fields = [];
   $('#puzzle-table input').each(function (i) {
      fileds.push(i);
   });

如何使用 jQuery 从输入框中获取值并将它们放入数组 fields[] 中?

【问题讨论】:

  • 您在代码示例中放入“fileds.push(i)”的“字段”存在拼写错误。如果 $("#puzzle-table input").length 等于 45,您是否在控制台中检查过?
  • doesn't work 不是正确的问题描述。显示的代码会引发错误,因此您也应该包含有问题的错误。如果你想要价值使用val()

标签: c# jquery html arrays model-view-controller


【解决方案1】:
        <script type="text/javascript">
            function check() {
               var fields = [];
               $('#puzzle-table input').each(function () {
                  fileds.push( $(this).val() );
               });
            }
        </script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2011-11-13
    • 2020-01-11
    • 2016-06-15
    相关资源
    最近更新 更多