从数据库中把对应的值列出来,前面加复选框,可以单选或者多选。选择修改按钮针对选中列进行批量修改,类似phpmyadmin的复选框功能。请教大概思路,如何实现此功能?

解决方案 »

  1.   

    ajax 读数据 循环输出数据 数据前面加个<input ...其他的不都是js的部分了么
      

  2.   

    取值的时候
    while($row=mysql_fetch_array($res)){
    echo "<input type=\"checkbox\" value=".$i.">";
    echo $row['myClo1']." ".$row['myClo2'];
    }//这样数据就加载完成了,以下是操作
    用JS就行了,但若你用jquery的话,更方便
    $("#alter").click(function(){
    $("input[type=checkbox]").each(function(){
    if($(this).attr("checked"))
    {
    $(this).removeAttr("checked");//do sth here

    })
    })
      

  3.   


    <?php
    #test19.php
    if(isset($_POST['save'])){
    print_r($_POST);
    #测试数据
    #Array ( [int] => Array ( [0] => 1 ) [name1] => Lucy [name2] => woman [save] => save )
    }
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>checkbox-edit</title>
    <script language="javascript" type="text/javascript" src="jquery_1.4.2.js"></script>
    </head><body>
    <script>
    $(function(){
    $("input[name='edit']").click(function(){
    $("input[name^='int']").each(function(){
    if($(this).attr("checked")){
    var objtd1 = $(this).parent().next("td");
    var objtd2 = $(this).parent().next("td").next("td");
    //alert("td1-->>"+objtd1+"\ntd2-->>"+objtd2);
    objtd1.html("<input type='text' name='name1' value='"+objtd1.text()+"' />");
    objtd2.html("<input type='text' name='name2' value='"+objtd2.text()+"' />");
    }
    });
    });
    });
    </script>
    <div>
    <form name="editdata" action="test19.php" method="post">
    <table border="" cellpadding="0" cellspacing="0">
    <tr>
    <td></td><td>Name</td><td>Sex</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="int[]" value="1" /></td>
    <td>TOM</td>
    <td>man</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="int[]" value="2" /></td>
    <td>Lily</td>
    <td>woman</td>
    </tr>
    </table>
    <input type="button" name="edit" value="edit" />
    <input type="submit" name="save" value="save" />
    </form>
    </div>
    </body>
    </html>
      

  4.   

    弄了半天,还是没有获得复选框的值。麻烦大虾看看:<script type='text/javascript' src="../js/jquery-1.3.2.js"></script>   
    <script language="JavaScript">   
    <!--   
    $("document").ready(function(){   
    $("#btn1").click(function(){   
    $("[name='checkbox']").attr("checked",'true');//全选   
    })   
    $("#btn2").click(function(){   
    $("[name='checkbox']").removeAttr("checked");//取消全选   
    })  
    $("#btn3").click(function(){//输出选中的值   
    var str="";   
    $("[name='checkbox'][checked]").each(function(){   
    str+=$(this).val()+"\r\n";   
    //alert($(this).val());   
    })   
    alert(str);   
    })   
    })   
    -->   
    </script>
    <div style="background: #eee;"> 
    <form name="form1" method="post" action="">
    <input align="center" type="button" id="btn1" value="全选">   
    <input align="center" type="button" id="btn2" value="取消全选">
    <input type="button" id="btn3" value="获得选中的所有值">   
    <br><br> 
    <table border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#B0C5FF" width="70%">
    <?php
    $sql2 = "select `ID`,`rkno`,`type`,`date` from `".$t."` order by type asc";
    //`echo $sql2;
    $result = mysql_query($sql2,$con) or die(mysql_error());?>
    <tr>
    <th><font color=blue>CHECKBOX</font></th>
        <th><font color=blue>RKNO</font></th>
    <th><font color=blue>TYPE</font></th>
    <?php
    echo '<th><font color=green>DATE</font></th></tr>';
    $totalRows = mysql_num_rows($result);
    $totalFields = mysql_num_fields($result);for ( $i = 0; $i < $totalRows; ++$i )
    {
    $results[$i] = mysql_fetch_array($result);
    //print_r($results[$i]);

    for ( $k = 1; $k < 4; ++$k)
    $is_re[$i][$k] = 1;
    }
    for ( $i = 0; $i < $totalRows; ++$i )
    {
    for ( $k = 0; $k < 3; ++$k)
    {
    if($is_re[$i][$k] == 0)
    continue;

    for ( $j = $i + 1; $j <= $totalRows; ++$j )
    {
    $is_re_tmp = TRUE; // 比当前列靠前的列都要相同,才认为此列是相同的
    for( $m = 1; $m <= $k; ++$m)
    {
    if ((strtolower(trim($results[$i][$m])) != strtolower(trim($results[$j][$m]))))
    $is_re_tmp = FALSE;
    }

    if ($is_re_tmp)
    {
    ++$is_re[$i][$k];
    $is_re[$j][$k] = 0;
    }
    else
    {
    break;
    }
    }
    }
    }
    for ( $i = 0; $i < $totalRows; ++$i )
    {
    $row = $results[$i];
    //print_r($row);
    echo '<tr class="cells" onmouseover="this.className=\'cells2\'" onmouseout="this.className=\'cells\'">';

      echo '<td><center><font size=2><input type="checkbox" name="checkbox" value="checkbox'.($i+1).'"> </font></center></td>';
       for ( $k = 0; $k < 4; ++$k)
    {
    if ($is_re[$i][$k] > 0)
    {
    if($k < 4)
    echo '<td rowspan="'.$is_re[$i][$k].'"><center><font size=2>'.$row[$k].'</font></center></td>';
    if($k == 0)
    {
    if($row[$k] == '0')
    echo '<td rowspan="'.$is_re[$i][$k].'"><center><font size=2> N/A </font></center></td>';
    else
    echo '<td rowspan="'.$is_re[$i][$k].'"><center><font size=2>'.$row[$k].'</font></center></td>';
    }
    }
    }
    echo "</tr>";
    }
    ?>
    </table><br /><br />
    </form>   
    </div><br /><br />
      

  5.   

    参照#3修改。其中的checkbox的name必须使每一个都不一样,所以: echo '<td><center><font size=2><input type="checkbox" name="checkbox{$i}" value="checkbox'.($i+1).'"> </font></center></td>';
      

  6.   

    问题应该出在其他地方<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>   
    <script language="JavaScript">   
    <!--   
    $("document").ready(function(){   
    $("#btn1").click(function(){   
    $("[name='checkbox']").attr("checked",'true');//全选   
    })   
    $("#btn2").click(function(){   
    $("[name='checkbox']").removeAttr("checked");//取消全选   
    })  
    $("#btn3").click(function(){//输出选中的值   
    var str="";   
    $("[name='checkbox'][checked]").each(function(){   
    str+=$(this).val()+"\r\n";   
    //alert($(this).val());   
    })   
    alert(str);   
    })   
    })   
    -->   
    </script>
    <div style="background: #eee;"> 
    <form name="form1" method="post" action="">
    <input align="center" type="button" id="btn1" value="全选">   
    <input align="center" type="button" id="btn2" value="取消全选">
    <input type="button" id="btn3" value="获得选中的所有值">   
    <br><br> 
    <?php
    for($i=0; $i<10; $i++)
      echo "<input type=checkbox  name=checkbox value=$i>";