我有這個功能,以產生這樣SELECT2不顯示數據的陣列正確
[返回值數據
public function ajax_get_kota($idProv='') { $kota = $this->registrasi_model->get_nama_kota($idProv); // echo json_encode(array_values($kota)); $data = array(); foreach($kota as $k){ $data[] = '{id:'.$k->id_kab.','.'text:'.$k->nama.'}'; // echo "{id: $k->id_kab, text: '$k->nama'}"; } echo json_encode(array_values($data)); }
「{ID:5103,文本:KAB BADUNG}」,「 {編號:5106,文本:KAB邦利} 「」{編號:5108,文本:KAB布萊倫} 「」{編號:5104,文本:KAB吉安雅} 「」{編號:5101,文本:KAB 。JEMBRANA} 「」{編號:5107,文本:KAB卡朗阿森} 「」{編號:5105,文本:KAB KLUNGKUNG} 「」{編號:5102,文本:KAB達巴南} 「」{ID :5171,文本:登巴薩市}「]
,我想這些價值觀上面會在我的下拉列表中顯示: 下面的代碼:
<div class="form-group form-group-sm has-feedback <?php set_validation_style('Kota')?>">
<?php echo form_label('Kota/Kabupaten', 'kota', array('class' => 'control-label col-sm-2')) ?>
<div class="col-sm-3">
<?php
$atribut_kota = 'class="form-control dropKota"';
echo form_dropdown('Kota', $namaKota, $values->Kota, $atribut_kota);
set_validation_icon('Kota');
?>
</div>
<?php if (form_error('Kota')) : ?>
<div class="col-sm-9 col-sm-offset-3">
<?php echo form_error('Kota', '<span class="help-block">', '</span>');?>
</div>
<?php endif ?>
<script>
$(document).ready(function() {
$(".dropProv").on("change", function(){
var idProv = $(this).val();
var baseUrl = '<?php echo base_url(); ?>program/administrasi/registrasi/ajax_get_kota/'+idProv;
var kota = [];
$.ajax({
url: baseUrl,
data: kota,
success: function(datas){
console.log(datas);
$(".dropKota").select2({
placeholder: "Pilih Kota",
data: datas //the data loads here
}); },
error: function (xhr, ajaxOptions, thrownError) {
alert("error");
}
});
});
});
</script>
</div>
我如何解決這個問題。
如果我使用'數據類型:「json''所有數據會變成into' [對象的對象]'。我剛發現'select2'使用數組format' ID:123,名稱:abc'所以,如果我改變''id_kab' id'和'name' into' name',並把數據在選擇2功能會工作。但這些數據是從數據庫中我怎麼格式化,所以'select2'可以接受? – HealMee
@HealMee這就是爲什麼我用'的console.log()''而不是警報()'。關於數據的內容,你只需要循環在PHP你'$ kota'變量和正確的鍵右邊的元素添加到新陣列。該陣列可以'json_encode'併發送回的JavaScript。 – jeroen
我用'的console.log()'和更新了我的代碼,現在我需要擺脫'「''這之間。」 {'從生成的數據。我該怎麼做呢? – HealMee