0

以下是一个 ajax 发布页面,它在运行时呈现复选框。我在为全选按钮编写脚本时遇到问题,当我单击按钮时,只有 1 个值被选中,而不是整个数组:

<?php
session_start();
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
include("../includes/functions.php");


if(isset($_REQUEST['t']))
{
    $td = $_REQUEST['t'];

    $t = split(",",$td);
    $all = "";
    $box_in_row = 0 ;
    $this_box="<table border=0><tr>";
    foreach($t as $table)
    {
        $this_box = "<td><h3>$table</h3>";
        $result = mysql_query("SHOW FULL COLUMNS FROM $table FROM prfxcom1_prfx");
        $options = "";
        while($r = mysql_fetch_object($result))
        {
            if(!empty($r->Comment))
            {
                $options .= "<br><input type=checkbox name=\"".$table."[]\" value='$r->Field' id=\"$table\">" . $r->Field;

            }
        }

        if($table == "transfer_req")
        {
            $options .= "<br><input type=checkbox name=\"".$table."[]\" value='Net Profit' id=\"$table\">NetProfit";

        }

        $this_box .=  $options;

        // Button
        $click = "$('#$table').attr('checked', 'checked')";

        $button = "<br /><input style='margin-top:10px;' type='button' name='$table_button' id='$table_button' value=' Select All ' onclick=\"$click\"/>";
        $all .= "<div class='tblBox'>".$this_box.$button."</div></td>";

    }
    //$all = "<table class=\"listing form\" cellpadding=\"0\" cellspacing=\"0\">".$all."</table>";
    echo $all;
}

?>

问题在行中面临:

$click = "$('#$table').attr('checked', 'checked')";

请建议,我坚持这一点。

谢谢,哈迪克

4

2 回答 2

0

什么???

$click = "$('#$table').attr('checked', 'checked')";

如何在 PHP 文件中间编写 Javascript?它需要在脚本标签中,但即便如此 PHP 在服务器上运行并且不会为您呈现您的 Javascript。

添加script标签,将您的 ID 更改为单独的 ID,并为它们提供相同的类,如tableClassName,然后编写以下内容。

$(function(){
    $('.tableClassName').attr('checked', 'checked')";
});
于 2013-06-23T14:01:00.237 回答
0

忽略代码的许多问题并简单地回答问题:

您需要使用类名而不是 ID 来引用复选框(您已为它们提供了相同的 ID)

对于这些行: $options .= "<br><input type=checkbox name=\"".$table."[]\" value='$r->Field' id=\"$table\">" . $r->Field;

改成: $options .= "<br><input type=checkbox name='" . $table . "[]' value='" . $r->Field ."' class='" . $table . "'>" . $r->Field;

对于这一行:$click = "$('#$table').attr('checked', 'checked')";使用单引号或转义 $

改成:$click = '$("."'.$table.'").attr("checked", "checked")';

于 2013-06-23T13:55:38.967 回答