我正在尝试将 api 调用的结果分页到 10 页(就像 ebay 或谷歌一样)。我创建了 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 '';
}
但结果是没有一个单选按钮保持选中状态。我单击一个按钮,页面重新加载并显示正确的结果,但该按钮未被选中。有没有更简单的方法??
您的串联包含您的函数名称作为字符串,因此它永远不会触发。您需要将函数调用移出字符串
$results .= "<INPUT........".check($_SESSION['PageNumber'],1)".; >1";