0

我从我的数据库中的一个表中填充我的下拉列表。我试图抓住用户选择的下拉列表中的选定项目,以便我可以查询数据库以获取与该项目相关的更多信息。

<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>
4

2 回答 2

1

首先,需要在Select Control中添加一个Event Handler,这样当某物被选中时,就可以捕捉到这个事件,可以通过以下方式实现;

<select name="ab" onchange="if (this.selectedIndex) doSomething();">

现在,按住索引可以知道已选择的内容,或者如果您愿意,可以通过索引获取所选项目并将其放入 javascript 中的全局变量中。

如果您在选择项目时加载更多信息,请使用带有 xmlHttpRequest 的 ajax。在许多 Web 应用程序中,当您使用 JQuery 时,它为您提供了许多任务。看看这里的 JQuery ,它使用简单并且简化了很多事情。

于 2012-04-04T03:47:57.683 回答
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);
      }
   });
});

这将获取正在更改的元素的值,将其发送到脚本(然后可以查询数据库),并返回特定元素中的数据。

于 2012-04-04T15:36:24.450 回答