将选定的行从html表加载到Array

时间:2017-10-23 07:50:24

标签: javascript php jquery html arrays

我的任务的一些上下文 - 用户看到一个表并选择行然后通过sql上传到主sql表。

我的问题 - 我需要能够仅将表格中的选定行加载到数组中。

现在我只能在Javascript中将整个表加载到一个数组中,然后将其发布到php页面然后print_r数组,并使用这段代码获取所有值:

PDF

我尝试了多项操作来获取所选行,例如从以下位置更改此行:

echo '<script>
    var myTableArray = [];
    $("#uploads_approval tr").each(function() {
        var arrayOfThisRow = [];
        var tableData = $(this).find("td");
            if (tableData.length > 0) {
                    tableData.each(function() { 
                        arrayOfThisRow.push($(this).text()); 
                    });
                        myTableArray.push(arrayOfThisRow);
                }

        });

        var selectedRows = document.getElementById("selectedRows");
        selectedRows.value = myTableArray;
</script>';

到此:

  $("#uploads_approval tr").each(function() {

然后我的数组输出什么也没有返回。

我也试过这样的事情,但也没有成功

  $("#uploads_approval tr.selected").each(function() {    

单击事件以选择行:

echo "<script>
    var Array2 = [];
    $('#uploads_approval tr').each(function() {
    var tableData = $(this).find('td');
    for(i = 0; i < tableData.length; i++){
        tableData.each(function() { 
                    var thisRow = 
document.getElementByClassName('selected').Text();
                    array2.push(thisRow); 
                });

    }
    var selectedRows = document.getElementById('selectedRows');
    selectedRows.value = Array2;
}
</script>";

提交活动表格:

echo "<script> $('#uploads_approval tr').click(function(){ $(this).toggleClass('selected'); }); </script>"; 

我是Javascript / Jquery的新手,所以我正在学习。

对此有任何帮助或建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

每次单击tr

时更新您的值
$('#uploads_approval tr').click(function(){

 $(this).toggleClass('selected');
 var row = [];
 $('.selected').each(function(i,v){
     row.push($(v).text());
  });
  $('#selectedRows').val(row);
 });

&#13;
&#13;
$('#uploads_approval tr').click(function() {

  $(this).toggleClass('selected');
  var row = [];
  $('.selected').each(function(i, v) {
    row.push($(v).text());
  })

  $('#selectedRows').val(row);
});
&#13;
.selected {
  color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<br>
<table id="uploads_approval">
  <tbody>
    <tr>
      <td>tr1</td>
    </tr>
    <tr>
      <td>tr2</td>
    </tr>
    <tr>
      <td>tr3</td>
    </tr>
    <tr>
      <td>tr4</td>
    </tr>

  </tbody>
</table>
<input type="text" id="selectedRows">
&#13;
&#13;
&#13;