我在PHP中创建了一个下拉列表,它正在选择列表的最后一项,我无法弄清楚它为什么会这样做。
当我回显event_id(返回的值)时,它每次都是最后一项。列表已正确填充。
$forms = mysql_query("select events.event_title, events.event_id, saved_forms.id from events
INNER JOIN saved_forms on saved_forms.id = events.event_id
where saved_forms.form_type = 'e' and events.event_by = '$my_username'");
while($form = mysql_fetch_array($forms)){
$form_id = $form['event_id'];
$selection.="<OPTION VALUE=\"$form_id\">".$form['event_title']."</OPTION>";
}
?>
<div id="saved_forms">
<tr><td><select name ="saved_form" value ="<? echo $form_id; ?>" onchange="showUser(<? echo $form_id; ?>)">
<Option value="$form_id"><? echo $selection; ?></Select></td><td>Select Existing Form</td></tr>
</div>
答案 0 :(得分:1)
你的问题在这里
<select name="saved_form" value="<? echo $form_id; ?>" onchange="showUser(<? echo $form_id; ?>)">
通过为select
标记赋值$form_id
,您很有可能覆盖选项中设置的值。并且您不应该将值硬编码到onchange
事件中。尝试从select
中移除值,然后让option
代码完成工作。
<select name="saved_form" onchange="showUser(this.value)">