我试图在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 '';
}
但结果是所有单选按钮都没有被选中。我点击一个按钮,页面重新加载正确的结果,但按钮没有被选中。有没有更简单的方法呢?
答案 0 :(得分:0)
您的串联将您的函数名称包含在字符串中,因此它永远不会触发。您需要将函数调用移出字符串
$results .= "<INPUT........".check($_SESSION['PageNumber'],1)".; >1";