0

我试图在 10 页中对 api 调用的结果进行分页(就像 ebay 或 google 一样)。我创建了 10 个单选按钮来选择我想要显示的页面。我的问题是单击单选按钮后无法保持选中状态。更具体地说,我是这样做的:

$results .= "<FORM ACTION=\"" . $_SERVER['PHP_SELF'] . "\" METHOD=\"POST\"> \n";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"1\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",1); >1";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"2\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",2);>2";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"3\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",3);>3";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"4\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",4);>4";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"5\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",5);>5";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"6\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",6);>6";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"7\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",7);>7";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"8\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",8);>8";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"9\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",9);>9";
        $results .= "<INPUT TYPE=\"radio\" NAME=\"pageNumber\" VALUE=\"10\" onchange=\"this.form.submit();\" check(".$_SESSION['PageNumber'].",10);>10";
        $results .= "</FORM> \n";

我这样定义检查功能:

function check($opt , $value){
    if($opt==$value)return "checked";
    else return '';
}

但结果是没有一个单选按钮保持选中状态。我单击一个按钮,页面重新加载正确的结果,但该按钮没有被选中。有没有更简单的方法呢??

4

1 回答 1

0

您的连接将您的函数名称作为字符串包含在内,因此它永远不会触发。您需要将函数调用移出字符串

 $results .= "<INPUT........".check($_SESSION['PageNumber'],1)".; >1";
于 2013-10-30T15:20:56.047 回答