我有一个通过jquery ajax填充的下拉元素
<select name="category" class="form-control"></select>
这是用于填充下拉列表的jquery代码
$.post(
"get_categories.php",
{
id: 1
}, function(data) {
$($('select[name=category]')).html(data);
}
);
要查看是否已成功填充下拉列表,请使用console.log
}, function(data) {
$($('select[name=category]')).html(data);
console.log(data)
}
这就是我在浏览器控制台窗口中获得的内容
<option value='1'>Stuffed Toy</option><option value='1'>Plushie</option><option value='1'>Memorabilia</option>
确实成功填充了下拉列表以测试当我选择另一个选项时,值是否会改变我包含此代码段:
$('select[name=category]').change(function(){
console.log($(this).val());
});
更改选项后,这就是我所拥有的
<option value='1'>Stuffed Toy</option><option value='1'>Plushie</option><option value='1'>Memorabilia</option>
1
下拉的价值根本不会改变。我做错了什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
要从下拉列表中获取值,您可以使用原生javascript this.value
。
$('select[name=category]').change(function(){
var selectedValue = this.value;
});
首先尝试通过在更改事件中放置console.log
来查看事件是否被调用。
答案 2 :(得分:0)
这是php代码
<?php
$id = $_REQUEST['id'];
include 'connect.php';
$query = "SELECT DISTINCT category FROM tbl_product";
$result = db_query($query);
$count = 1;
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()){
echo $count;
echo "<option value='".$count."'>".$row['category']."</option>";
$count++;
}
}
&GT;