我正在尝试在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>';
}
答案 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'].'">';
看看它现在是否有效。