我只是想知道你如何把一个函数放在一个echo语句中?
function Catselect($abc){
global $category;
if($category == $abc){
echo 'selected ="selected"';
}
}
echo'
<select style="width: 260px;" name="category">
<option value="01" '.Catselect("01").'>Site Related</option>
<option value="02" '.Catselect("02").'>Tournaments</option>
<option value="03" '.Catselect("03").'>Articles</option>
<option value="04" '.Catselect("04").'>Interviews</option>
<option value="05" '.Catselect("05").'>General</option>
</select>
';
我正在尝试制作一个更新页面,您可以在其中查看以前的类别,所以在此之前,如果您要转到更新页面,则该类别是值为2的锦标赛,比赛类别将自动选中。
但我得到的只是我头上的选择=“选中”这个词。
任何帮助?
答案 0 :(得分:2)
而不是echo 'selected ="selected"';
尝试return 'selected ="selected"';
答案 1 :(得分:1)
更改echo
函数中的return
,它应该有效。
简单解释一下,既然你已经在html中使用echo语句来输出你的列表项,你只需要在你的函数中返回一个值,之前的echo就会打印它。
答案 2 :(得分:1)
你需要 return
来自函数的值,而不是函数内的echo
。你正在做的是你用一个函数的返回值连接一个字符串,这是完全正常的。像:
'A random number: ' . rand()
。该函数被执行,并且从函数返回的任何内容都连接到字符串。如果函数也自己输出一些东西,那就是调用函数时的输出,在它的返回值连接到字符串之前。
答案 3 :(得分:0)
我相信有人会有一个更优雅的解决方案......但这会有效。
function Catselect($abc){
global $category;
$sel1 = ''; $sel2=''; $sel3=''; $sel4=''; $sel5 = '';
switch($abc) {
case '01': $sel1='selected'; break;
case '02': $sel2='selected'; break;
case '03': $sel3='selected'; break;
default:
case '04': $sel4 = 'selected'; break;
case '05': $sel5 = 'selected'; break;
}
return $sel1; return $sel2; return $sel3; return $sel4; return $sel5;
}
echo'
<select style="width: 260px;" name="category">
<option value="01" '.Catselect("01").' '.$sel1.'>Site Related</option>
<option value="02" '.Catselect("02").' '.$sel2.'>Tournaments</option>
<option value="03" '.Catselect("03").' '.$sel3.'>Articles</option>
<option value="04" '.Catselect("04").' '.$sel4.'>Interviews</option>
<option value="05" '.Catselect("05").' '.$sel5.'>General</option>
</select>
';
答案 4 :(得分:0)
您需要返回一个值,而不是在函数中打印。如果$abc
是所选类别,那么您应该在函数的$return = "selected=\"selected\""; return $return;
语句中写if
。
答案 5 :(得分:0)
而不是
echo 'selected="selected"';
待办事项
return 'selected="selected"';
这将返回字符串,然后将其连接到输出字符串。
您也可以使用三元运算符而不是使用函数,如下所示:
echo'
<select style="width: 260px;" name="category">
<option value="01" '.($category == "01" ? 'selected="selected"' : '').'>Site Related</option>
<option value="02" '.($category == "02" ? 'selected="selected"' : '').'>Tournaments</option>
<option value="03" '.($category == "03" ? 'selected="selected"' : '').'>Articles</option>
<option value="04" '.($category == "04" ? 'selected="selected"' : '').'>Interviews</option>
<option value="05" '.($category == "05" ? 'selected="selected"' : '').'>General</option>
</select>
';