0

我想在提交后将选定的文本保留在我的下拉列表中。这是select在我的表格里面

<form id="form1" method="post" action="">
<input type="text" name='search' id='search' />
 <?php
$db = mysql_connect($dbHost,$dbUser,$dbPass);
mysql_select_db($dbname,$db);
$sql = mysql_query("SELECT * FROM adminklasifier");
while($row = mysql_fetch_array($sql)) {
    $clsfr = $row['klasifier'];
    $sql = mysql_query("SELECT * FROM adminklasifier");
        echo '<select name="cmake" id="cmake" onchange="val();" autofocus width="10">';
        echo '<option value="">-Pilih Domain Klasifikasi-</option>';
        while($row = mysql_fetch_array($sql)) {
            echo '<option ' . ($clsfr==$row['klasifier']) . ' value="'.$row['klasifier'].'">'.$row['klasifier'].'</option>'; 
    }
    echo '</select>';
}
?>
<input type="submit" id='button' name='button'></input>
</form>

我已经分析了在提交表单后保持选中值的其他情况,但我还没有成功。

你能给我一个建议吗?

4

2 回答 2

1

发布的用户响应将$_POST在您页面上的数组中。在您的情况下,“cmake”表单字段的值将作为$_POST['cmake']. 当您遍历查询结果时,您可以简单地将“选定”打印到适当的选项中。

echo '<option ' . ($clsfr==$row['klasifier']) . ' value="'.$row['klasifier'].'"'.(($_POST['cmake'] == $row['klasifier']) ? 'selected=selected' : NULL).'>'.$row['klasifier'].'</option>';
于 2013-07-09T19:42:56.293 回答
0

我总是喜欢使用表单助手来创建我的选择

function formSelect($name, $options, $value, $attributes = array()){
     $str =  "<select name='".$name."'";
     foreach($attributes as $k=>$v){
         $str.=" ".$k."='".$v."'";
     }
     $str.= ">";
     foreach($options as $optionLabel=>$optionValue){
           $str.= "<option value='".$optionValue."' ";
           if($value == $optionValue) $str.= "selected='selected'";
           $str.= ">".$optionLabel."</option>";
     }
     $str.= "</select>";
     return $str;
}

然后在您的表格中,您可以这样做。

<form id="form1" method="post" action="">
<input type="text" name='search' id='search' />
 <?php
$db = mysql_connect($dbHost,$dbUser,$dbPass);
mysql_select_db($dbname,$db);

$options = array();
$sql = mysql_query("SELECT * FROM adminklasifier");

while($row = mysql_fetch_array($sql)) {
    $options[$row['klasifier']] = $row['klasifier'];
}

// add the default option
array_unshift($options, "-Pilih Domain Klasifikasi-");
// call the helper
$attributes = array("onchange"=>"val();","autofocus"=>"autofocus","width"=>"10");
echo formSelect("cmake", $options, isset($_POST["search"])?$_POST["search"]:"", $attributes);
?>
<input type="submit" id='button' name='button'></input>
</form>
于 2013-07-09T19:46:36.823 回答