我正在使用下拉框在表单中执行选择。
我有4个值('value1','value2','value3','value4')。每个都列在下拉框中。但是我也希望所有4个值都有一个选项,例如,这是我目前用于绘制下拉菜单的函数的数组:
$menuValues("'value1','value2','value3','value4'",'value1','value2','value3','value4');
然而,这会在操作页面上生成一个空变量。我需要在每个值周围保留单引号以提供一个函数,该函数反过来驱动一个mysql查询。这就是我使用双引号括起第一个值的原因。
这是下拉功能:
function frDrop($arr,$frm,$dropTitle) {
echo "<select name='".$frm."' id='".$frm."'><option value=''>".$dropTitle."...</option>";
foreach ($arr as $key => $value) {
echo "<option value='".$value."'>".$value."</option>";
}
echo "</select>";
}
答案 0 :(得分:1)
目前尚不清楚函数frDrop()在哪里被调用,它的参数是什么意思。但是对于我在下面的回答,我假设$ arr是包含下拉选项的数组。所以,
$arr = array(
"'value1','value2','value3','value4'",
'value1',
'value2',
'value3',
'value4'
);
现在,正如我在上面的评论中所猜测的那样,也许第一个数组值中的单引号 - “'value1','value2','value3','value4'” - 与单引号冲突在函数frDrop()中foreach()的标记中。这是第一个值的标签形式:
<option value=''value1','value2','value3','value4''>'value1','value2','value3','value4'</option>
你可能试图逃避这样的单引号:
echo "<option value='".addslashes($value)."'>".$value."</option>";
OR,而是使用单引号括起您的PHP语句:
echo '<option value="' . $value . '">' . $value . '</option>';
希望这有帮助。
答案 1 :(得分:0)
function frDrop($arr,$frm,$dropTitle) {
$temp =''
$temp.="<select name='".$frm."' id='".$frm."'><option value=''>".$dropTitle."...</option>";
foreach ($arr as $key => $value) {
$temp.= "<option value='".$value."'>".$value."</option>";
}
$temp.="</select>";
}
echo $temp