我的限制。我不能讓這個工作: 我想用jQuery和JSON來動態選擇列表來填充數據庫中的數據 我看到它在螢火蟲控制檯中提取數據,但它不填充選擇框。 這是我的觀點:jquery動態選擇列表不會在Codeigniter中自動填充
<div class="control-group">
<label class="control-label" for="inputPassword">Grad</label>
<div class="controls">
<select name="city" id="city" class="update">
<option value="">Odaberi</option>
<?php if (!empty($results)) { ?>
<?php foreach($results as $row) { ?>
<option value="<?php echo $row->city_id; ?>">
<?php echo $row->city_name; ?>
</option>
<?php } ?>
<?php } ?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Deo grada</label>
<div class="controls">
<select name="category" id="category" class="update"
disabled="disabled">
<option value="">----</option>
</select>
</div>
</div>
這裏是我的控制器在那裏我打電話給我的模型:
功能update_list(){$ 這 - > marea-> update_list();
而且,最後我的模型
function update_list(){
if (!empty($_GET['id']) && !empty($_GET['value'])) {
$id = $_GET['id'];
$value = $_GET['value'];
try {
$objDb = new PDO('mysql:host=localhost;dbname=isport', 'root', '');
$objDb->exec('SET CHARACTER SET utf8');
$sql = "SELECT *
FROM `area`
WHERE `city_id` = ?";
$statement = $objDb->prepare($sql);
$statement->execute(array($value));
$list = $statement->fetchAll(PDO::FETCH_ASSOC);
if (!empty($list)) {
$out = array('<option value="">Odaberi</option>');
foreach($list as $row) {
$out[] = '<option value="'.$row['area_id'].'">'.$row['area_name'].'</option>';
}
echo json_encode(array('error' => false, 'list' => implode('', $out)));
} else {
echo json_encode(array('error' => true));
}
} catch(PDOException $e) {
echo json_encode(array('error' => true));
}
} else {
echo json_encode(array('error' => true));
}
}
這裏我的ajax:
var formObject = {
run : function(obj) {
if (obj.val() === '') {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
} else {
var id = obj.attr('id');
var v = obj.val();
jQuery.getJSON(SITE +'users/update_list', { id : id, value : v }, function(data) {
if (!data.error) {
obj.next('.update').html(data.list).removeAttr('disabled');
return;
} else {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
}
});
}
}
};
$(function() {
$('.update').live('change', function() {
formObject.run($(this));
});
});
是你的問題,當頁面加載或您想要使用Ajax加載數據時,列表不填充? – GrayB
我嘗試使用ajax自動加載數據 – Miki
你說在firebug中你可以看到ajax的結果,它們是正確的?所以你的問題只是將信息輸入選擇器? – GrayB