PHP下拉列表仅选择列表中的最后一项

PHP下拉列表仅选择列表中的最后一项,php,drop-down-menu,Php,Drop Down Menu,我在PHP中创建了一个下拉列表,它正在选择列表的最后一项,我不明白它为什么这样做 当我回显事件_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

我在PHP中创建了一个下拉列表,它正在选择列表的最后一项,我不明白它为什么这样做

当我回显事件_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>
$forms=mysql\u query(“从事件中选择events.event\u title、events.event\u id、saved\u forms.id
在已保存的\u forms.id=events.event\u id上内部连接已保存的\u表单
其中保存的_forms.form_type='e'和events.event_by='my_username');
而($form=mysql\u fetch\u数组($forms)){
$form_id=$form['event_id'];
$selection.=''.$form['event_title'];
}
?>
你的问题就在这里

<select name="saved_form" value="<? echo $form_id; ?>" onchange="showUser(<? echo $form_id; ?>)">

生成的HTML是什么样子的?您还应该删除
中属性和值之间的空格,并且不要使用
mysql.*
扩展,因为它们已被弃用-改为使用
mysqli
PDO
。这是通过ajax请求完成的,因此我不确定如何检查html。但是,当我回显事件id(输出)时,它是列表中的最后一项。我不完全确定您在做什么,但要选择一个值,您将“selected”放在选项上,而不是选择框上的值,并且您应该传递类似
JSON
的内容(如果是)和
AJAX
请求,不是
HTML
。value甚至不是
的有效属性,我知道,但我不想进入随机浏览器怪癖谢谢,这很有效,但我有点困惑。javascript从何处获取this.value的值?它只是从div(saved_form)的名称继承值吗?“this”指的是当前标记,“value”是分配给标记的属性,
select
标记从当前选择的
选项的值中获取其值。好的,所以基本上它只是将其与选项标记关联,对吗?我不怎么使用javascript,所以我很欣赏这个解释。
<select name="saved_form" onchange="showUser(this.value)">