我需要在select元素中附加一些选项,我在这里做错了什么,
记住:
我正在使用jquery选择的插件。
$(document).ready(function(e) {
$("#my_select").chosen();
get_data()
});
function get_data() {
$.ajax({
url: "<?=site_url('controller/function')?>",
success: function(result){
result = $.parseJSON(result);
$.each(result, function(i, v) {
//alert('inside')
$('#my_select').append("<option value='"+v.id+"'>"+v.name+"</option>");
});
$("#my_select").trigger("chosen:updated");
}
});
}
Json的反应非常好,
[{"id":"2","name":"name1"},{"id":"3","name":"name2"}]
虽然我的HTML是,
<select id="my_select" name="my_select" data-placeholder="Select type">
<option value=""></option>
</select>
答案 0 :(得分:2)
你试过触发器(“liszt:updated”)吗?
答案 1 :(得分:0)
尝试这样,先加载数据,然后实现选择的
$(document).ready(function(e) {
get_data()
$("#my_select").chosen();
});
function get_data() {
$.ajax({
url: "<?=site_url('controller/function')?>",
success: function(result){
result = $.parseJSON(result);
$.each(result, function(i, v) {
//alert('inside')
$('#my_select').append("<option value='"+v.id+"'>"+v.name+"</option>");
});
}
});
}
答案 2 :(得分:0)
这似乎有效。我删除了选中的()。
<?php
if (isset($_GET['getdata'])) {
echo '[{"id":"2","name":"name1"},{"id":"3","name":"name2"}]';
exit;
}
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
get_data()
});
function get_data() {
$.ajax({
url: "http://www.website.com/test.php?getdata",
success: function(result){
result = $.parseJSON(result);
$.each(result, function(i, v) {
$('#my_select').append("<option value='"+v.id+"'>"+v.name+"</option>");
});
}
});
}
</script>
<select id="my_select" name="my_select" data-placeholder="Select type">
</select>