使用Jquery在循环中获取表中的输入值

时间:2014-07-24 15:19:02

标签: javascript jquery json loops

我有一个表添加和删除带按钮的行,在每个单元格中我有一个输入,我试图拉出并形成一个JSON字符串。

我很确定我差不多就在那里,但是从输入字段中获取值并输入变量来打印JSON,我感到有点疯狂。

通过我的问题字符串查看评论中的注释。

Anyhelp使用什么选择器我需要用来从输入中提取数据。表格行如下所示:

     <tr class="">
                            <td><select class="id" ><option></option><option></option><option></option></select></td>
                            <td><input type="text" name="subtask_assignee[]" /></td>
                            <td><input type="text" name="subtask_summary[]" /></td>
                            <td><input type="text" name="col3[]" value="" /></td>
                            <td><button class="remove">Remove</button>
                        </tr>

这是我有多远:

         var table = document.getElementById('myTable');
         var rowLength = table.rows.length;
         console.log("rows"+rowLength);
         for(var i=2; i<rowLength; i+=1){
            //check if row exists
            if (table.rows[i]) {
              var row = table.rows[i];
              console.log("outer"+i);

            var cellLength = row.cells.length;
            for(var y=0; y<cellLength-1; y+=1){
                var subtask = row.cells[y];
                    console.log("inner" + y);

                subtask.fields = {};
             // THIS SELECTOR TO GET THE VALUE IN THE INPUTS IN THE ROW BELOW IS I BELIEVE THE PROBLEM. IT IS RETURNING BLANK IN THE ALERT WHICH I HAVE PUT INTO TEST. 
                subtask.fields = {};
                subtask.fields.parent = $('#dynatable > tbody  > tr > td').val();
                subtask.fields.assignee = $('#dynatable > tbody  > tr > td').val();
                subtask.fields.assignee = {};
                subtask.fields.assignee.col4 = $('#dynatable > tbody  > tr > td').val();

                alert(subtask.fields.parent);
            }

              alert(JSON.stringify(subtask));
            }
        }

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

使用以下JSON.stringify()

var JSONDATA = JSON.stringify( $('table input').map(function() {return this.value}).get() )

希望这会有所帮助......