我从数据库中的表填充下拉列表。我试图抓住用户选择的下拉列表中的选定项目,以便我可以查询数据库以获取与该项目相关的更多信息。
<html>
<head></head>
<body>
<br>
<table id ="topnav" width="1100" border="0" align="center">
<tr>
<td colspan="2" style="background-color:#FFA500;">
<h1><table border="0">
<tr>
<th colspan="6"><img src ="../_images/Eu_flags.jpg" border="0" align="top" width="1100" height="180" />
</th>
</tr>
<table></h1>
</td>
</tr>
<tr valign="top">
<td style="background-color:#FFD700;width:150px;text-align:top;">
<b>Menu</b><br />
Select the state<br>
See rank of Universities<br />
Other information
</td>
<td style="background-color:#eeeeee;height:100px;width:940px;text-align:top;">
<?php
$con = mysql_connect("localhost","root","pasword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$result = mysql_query("SELECT lnamestate FROM state" );
while($row = mysql_fetch_array($result))
{
$lnamestate_id = $lnamestate['id'];
$row_lnamestate=$row['lnamestate'];
$row_block .= '<OPTION value="'.lnamestate_id.'">'.$row_lnamestate.'</OPTION>';
}
mysql_close($con);
?>
<label for="row">Select state</label>
<select name="lnamestateID"><?php echo $row_block; ?></select>
</td>
</tr>
<tr>
<td colspan="2" style="background-color:#FFA500;text-align:center;">
</td>
</tr>
</table>
</table>
</body>
</html>
答案 0 :(得分:1)
首先,您需要向Select Control添加一个事件处理程序,以便在选择某些内容时,您可以捕获此事件,您可以通过以下内容实现;
<select name="ab" onchange="if (this.selectedIndex) doSomething();">
现在,按住索引以了解已选择的内容,或者如果需要,通过索引获取所选项目并将其放入javascript中的全局变量中。
如果要在选择项目时加载更多信息,请使用带有xmlHttpRequest的ajax。在许多Web应用程序中,当您使用JQuery时,它为您提供了许多任务。看看JQuery here,它易于使用并简化了很多事情。
答案 1 :(得分:0)
你需要AJAX:
$('select.whatever').change(function(){
$.ajax({
url: '/path/to/your/script.php',
data: 'var='+$(this).val(),
type: 'POST',
success: function(data) {
$('.insert_element').html(data);
}
});
});
这将获取要更改的元素的值,将其发送到脚本(然后可以查询数据库),并返回特定元素中的数据。