|
|
|
| Всем добрый вечер. Только начал учиться работать с json.
Написал пхп код
$sql = "SELECT id, name FROM `$db` WHERE `id_brand`='$id'";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query) > 0) {
while(($resultArray[] = mysql_fetch_assoc($query)) || array_pop($resultArray));
}
echo json_encode( $resultArray );
|
Затем js код, который должен создать селект.
$('select[name=brand]').change(function() {
var id = $(this).val();
$.post( "modules/search.php", { db: "model", id:id },
function( data ) {
console.log(data);
for(var i=0; i<data.length; i++) {
$('select[name="model"]').append( $('<option />', {'value': data.id, 'text': data.name}) );
}
},
"json"
);
});
|
Но в консоле отображается [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
И я не понимаю в какую сторону копать. Подскажите, пожалуйста! | |
|
|
|
|
|
|
|
для: kapitalist
(10.05.2016 в 18:50)
| | А что там еще должно отображаться? Вы передаете с сервера ассоциативный массив, а в JS таковых нет, есть объекты, где ключ ассоциативного массива, это свойство объекта, под которым значением.
У вас массив объектов, которые вы обходите циклом, а значит и вставлять надо
{'value': data[i].id, 'text': data[i].name}
В JQ есть .each() вы же все равно ее используете. | |
|
|
|
|
|
|
|
для: confirm
(10.05.2016 в 18:55)
| | {'value': data[i].id, 'text': data[i].name} - спасибо, сам как-то не сообразил (((
про each я не понял. Зачем мне в моем случае этим пользоваться? | |
|
|
|
|
|
|
|
для: kapitalist
(10.05.2016 в 19:33)
| | А зачем вы к примеру используете foreach? | |
|
|
|
|
|
|
|
для: confirm
(10.05.2016 в 19:51)
| | пробегаю по массиву ))
Я не силен в js, сделал по такому же принципу как и в пхп
я так понял можно было сделать примерно так $('#my_select option').each(function() ? | |
|
|
|
|
|
|
|
для: kapitalist
(11.05.2016 в 10:39)
| |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
$(function() {
var o = [
{id : 3, name : "as1"},
{id : 4, name : "as2"},
{id : 5, name : "as3"}
];
$.each(o, function() {
alert(this.id + '/' + this.name)
})
});
</script>
|
| |
|
|
|