无法获得下拉项目的ID

时间:2013-10-15 18:27:35

标签: javascript php jquery

我正在尝试在PHP生成的下拉菜单中获取所选项目的ID。现在控制台说“Uncaught TypeError:Object #exchanges选项:selected没有方法'attr'”我无法弄清楚出了什么问题。

<html>
<head>
    <title>Administration</title>
    <style>
        #exchanges {
            width: 300px;
        }
    </style>

    <script src="http://codeorigin.jquery.com/jquery-2.0.3.min.js"></script>
</head>
<body>

    <?php populateDropDown(); ?>
    <button id="display_button">Display Information</button>
</body>

<script>
    $(document).ready(function(){
        $('#display_button').on('click', function(){
            var dropdown_id = ('#exchanges option:selected').attr('id');
            alert(dropdown_id); // doesn't work
        });
    });


</script>

</html>

PHP函数:

function populateDropDown(){
$conn = connectPDO();

echo '<select id="exchanges">';

foreach($conn->query('SELECT * FROM exchange') as $row) {
    echo '<option id ='.$row['exchangeID'].'>'; 
    echo $row['exchange-name'];
    echo '</option>';
    }

echo '</select>';

}

1 个答案:

答案 0 :(得分:3)

首先,您忘记了jQuery代码中的美元符号:

var dropdown_id = ('#exchanges option:selected').attr('id');

应该是:

var dropdown_id = $('#exchanges option:selected').attr('id');

另外,在PHP中,更改此内容:

echo '<option id ='.$row['exchangeID'].'>'; 

以下内容:

echo '<option id="'.$row['exchangeID'].'">';

看看它现在是否有效。