从表中选择多行并在按钮单击上应用函数

时间:2014-09-30 06:08:13

标签: php jquery mysql

我尝试使用每行的复选框从表中选择多行,然后在单击按钮时对其应用函数,我似乎无法找到一种方法来选择检查复选框的行,并通过AJAX调用处理它们。

以下是生成表格的PHP代码:

            echo '<table cellspacing="0" width="100%" class="viewData" id="approveTransfersTbl"> ';
            echo '<thead> ';
            echo '  <tr> ';
            echo '      <th>Transfer Type</th> ';       
            echo '      <th>Officer ID</th> ';      
            echo '      <th>Officer Name</th> ';        
            echo '      <th>Status</th> ';      
            echo '      <th>Req Date</th> ';    
            echo '      <th>From</th> ';
            echo '      <th>To</th> ';
            echo '      <th>Reason</th> ';
            //echo '        <th>More Info</th>';
            echo '      <th>Select</th>';
            echo '  </tr> ';
            echo '</thead> ';
            echo '<tbody> ';
                foreach($rows as $row){ 
                    echo '  <tr> ';
                    echo '<td>'.$row['transfer_type'].'</td> ';
                    echo '<td>'.$row['officer_Id'].'</td> ';
                    echo '<td>'.$row['name_with_Initials'].'</td> ';
                    echo '<td>'.$row['status_'].'</td> ';
                    echo '<td>'.$row['date_Requested'].'</td> ';
                    echo '<td>'.$row['frmprison_Name'].'</td> ';
                    echo '<td>'.$row['prison_Name'].'</td> ';
                    echo '<td>'.$row['Reason'].'</td> ';
                    echo "<td><input class='tblrowChkBox' id='tblrowChkBox".$row['transfer_Log_Id']."' type='checkbox' /></td>";

                    echo '  </tr> ';
                }   
                echo '</tbody> ';   
                echo '</table> ';  

                echo '</br></br>  ';    
                echo '<div style="width:320px; margin:auto;">';
                echo "<input type='button' class='button' id='btnapprove' name='btnapprove' value='Approve'' />";   
                echo "<input type='button' class='button' id='btnunchk' name='btnunchk' value='Un Check'/>";
                echo '</div>';
        }

2 个答案:

答案 0 :(得分:0)

复选框的用户通用组名(例如:name =&#39; checkGroup&#39;)&amp;以下代码可以帮助您获取行列表

  var $rowList = $('[name=checkGroup]:checked').map(function(){
                   return $(this).parent().parent();
                 })

答案 1 :(得分:0)

您可以使用以下代码获取已选中复选框的值列表 -

您需要修改下面的行,并将复选框的值等于rowid

echo "<td><input class='tblrowChkBox' 
                 id='tblrowChkBox".$row['transfer_Log_Id']."' 
                 type='checkbox' 
                 value='".$row['transfer_Log_Id']."'/></td>";

使用以下脚本将click事件绑定到按钮并获取复选框valur数组

$(document).on("click",'#btnapprove',function(){
    var selectedCheckboxes = $('input[class="tblrowChkBox"]:checked').map(function(){

      return $(this).val();
    }).get();

    alert(selectedCheckboxes);
});

<强> DEMO