Привет всем и заранее спасибо за помощь. Прежде всего, извинения, если я здесь использую неправильную фразу. Я не очень беспокоюсь о синтаксисе здесь, просто заставить это работать. Теперь проблема: у меня есть сериализатор django, выводящий следующий JSON:
[
{
"pk": 11262,
"model": "dict.words",
"fields": {
"lang": "KO",
"incorrect": null,
"sug_translation": [
3215
],
"word": "\uc0dd\uac01\ud558\ub2e4",
"definition": [],
"pos": "VE",
"phrase": [],
"translation": [
{
"pk": 1,
"model": "dict.words",
"fields": {
"word": "comprender"
}
},
{
"pk": 6028,
"model": "dict.words",
"fields": {
"word": "entender"
}
}
],
"incomplete": null
}
}
]
Что я хотел бы сделать, так это добраться до fields.translation.fields.words и, следовательно, Jquery для автозаполнения -
$(function() {
$( "#query_form" ).autocomplete({
minLength: 2,
source: 'http://127.0.0.1:8000/json_results/',
focus: function( event, ui ) {
$( "#query_form" ).val( ui.item.word );
return false;
},
select: function( event, ui ) {
$.get ('http://127.0.0.1:8000/json_detail/',
{
item: ui.item.pk
},
function(data) {
$('#query_result').prepend(data);
});
$( "#query_form" ).val( ui.item.word );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
var tran = $.each(item.fields.translation, function(i){item.fields.translation[i].fields.word})
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append("<a>" + item.fields.word + tran + "</a>")
.appendTo( ul );
};
});
Я абсолютный нуб к jquery и javascript в целом, так что извините за любые явные ошибки форматирования. В любом случае, проблема здесь в том, что, хотя на самом деле выполняется запрос и функции автозаполнения, возвращается $ .each (item.fields.translation, function (i) item.fields.translation [i] .fields.word}) [объект, объект] в списке автозаполнения. Если он выводится через alert (), он возвращает правильные значения. Если я просто использую item.fields.translation [0] .fields.word в строке .append, он выводит значение. Но по какой-то причине, когда я прошу его сделать то, что я хочу, я получаю [объект объекта]
Итак, кто-нибудь есть идеи, что я делаю неправильно? Большое спасибо заранее!