Jquery没有获得动态下拉值

时间:2017-08-15 08:35:34

标签: php jquery

  

在这段代码中,当我从第一个下拉列表中选择时,它获得了   值但是接下来它没有从jquery获取值..

<?php
$con=mysql_connect('localhost','root','root');
mysql_select_db('alok',$con);
?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="jquery.min.js"></script>
</head>
<body>
<form method="post">
<table width="100%">
    <tr>
        <td>ID</td>
        <td>Item</td>
        <td>status</td>
        <td>dropdown</td>
    </tr>
    <?php 
    $query="select * from jain";
    $result=mysql_query($query);
    while($row=mysql_fetch_array($result)){
      ?>
    <tr>
        <td><?php echo $row['id']; ?></td>
        <td><?php echo $row['gift']; ?>
        </td>
        <td><?php if($row['status']==='0'){echo 'pending';}elseif($row['status']==='1'){echo 'Recieved';}else{
            echo 'Rejected';} ?></td>

        <td>

            <select name="status" id="status">
                <option value="0">Pending</option>
                <option value="1">Recieved</option>
                <option value="2">Rejected</option>
            </select>
        </td>

    </tr>
    <?php } ?>
</table>
</form>
</body>
</html>
<script type="text/javascript">
    $(document).ready(function(){
    $('#status').change(function(){
        var status=$('#status option:selected').val();
        alert(status);
    })
    })

</script>

从第一个下拉列表中选择时: enter image description here

从第二个下拉菜单中选择时没有收到警报: enter image description here

我在这里做错了请告诉我这里我是个新手

2 个答案:

答案 0 :(得分:0)

使用不同的id进行选择。然后你将得到另一个选定的值。

<select name="status" id="status1">
    <option value="0">Pending</option>
    <option value="1">Recieved</option>
    <option value="2">Rejected</option>
</select>
<select name="status" id="status2">
    <option value="0">Pending</option>
    <option value="1">Recieved</option>
    <option value="2">Rejected</option>
</select>

答案 1 :(得分:0)

您正在php循环中创建select元素。因此Id对所有人都是一样的。它们应该是独一无二的。

你应该考虑将id更改为class并且它可以工作。

<select name="status" id="status" class="status">

$('.status').change(function(){
        var status=$("option:selected", this).val();
        alert(status);
    })