Это был мой опыт, что XCode иногда запутывается о который подписание сертификата использованию. Я выработал привычку выхода и перезапуска XCode после любого изменения в настройках подписывания кода (и выполнение чистой сборки) для работы вокруг этой проблемы.
Ничего особенного.
$idcateg = trim($this->input->post('idcategory'));
$result = array();
$id = mysql_real_escape_string($idcateg);
$res = mysql_query("SELECT * FROM subcategories WHERE category = $id");
while ($row = mysql_fetch_array($res)) {
$result[] = array(
'id' => $row['subcatid'],
'desc' => $row['description'],
);
}
echo json_encode($result);
с:
$.post("<?=base_url()?>index.php/rubro/list_ajax/", {
'idcategory' : idc },
function(data) {
var sel = $("#select");
sel.empty();
for (var i=0; i<data.length; i++) {
sel.append('<option value="' + data[i].id + '">' + data[i].desc + '</option>');
}
}, "json");
вы также можете просто использовать $ (). Load () и заставить ваш PHP-код генерировать теги
$return = "";
while ($row = mysql_fetch_array($res)) {
$value = $row['value'];
$text = $row{'text'];
$return .= "<option value='$value'>$text</option>\n";
}
print $return;
}
...
$('#select').load("<?=base_url()?>index.php/rubro/list_ajax/");
Да. Вы хотите передать обратно массив объектов в кодировке JSON, содержащий пары имя / значение. Затем вы можете создать свой выбор итеративно, используя эти.
$.post("<?=base_url()?>index.php/rubro/list_ajax/",
{'idcategory' : idc },
function(data){
var select = $('#selectName').empty();
$.each(data.values, function(i,item) {
select.append( '<option value="'
+ item.id
+ '">'
+ item.name
+ '</option>' );
});
}, "json");