2012-05-23 5 views
1

Я не могу понять, почему при автозаполнении jquery функция select испортила данные. Под этим я подразумеваю, что value = label, когда это не должно.jquery autocomplete select messing data

Консольный вывод журнала для console.log(val);

Object { value="1558825", label="Cree sus propias noticias cliente", icon="http://servidor...News/10_ae4e0.jpg"} 

выхода журнала консоли для console.log(ui.item);

Object { label="Cree sus propias noticias cliente", value="Cree sus propias noticias cliente"} 

Код:

$("#search_input").autocomplete({ 

    source: function(req, add) { 

    $.getJSON("do.php", { OP: "news_search", category: cat_id, get: req }, function(results){ 

     var suggestions = []; 

     $.each(results, function(i, val){ 
     console.log(val); 
     suggestions.push(val.label) 
     }); 

     add(suggestions); 

    }); 
    }, 
    select: function(event, ui){ 
    console.log(ui.item); // Here value and label is the same, when it shouldn't 
    $("#search_input").val(ui.item.label).attr('data-target', ui.item.value); 
    return false; 
    }, 
    minLength: 2 
}); 

Есть идеи почему это происходит?

ответ

1

Код suggestions.push(val.label) подталкивает только этикетку. Таким образом, вы не можете получить что-нибудь, кроме этикетки в ui объекта

попытаться подтолкнуть объект VAL suggestions.push(val)

+1

в самом деле, сэр, это была проблема ... как глупо не заметить, что – Alex

+0

В программировании все делают такую ​​ошибку. С опытом это только уменьшается. – Imdad

+0

И @ w0rldart, не называйте меня сэр. Здесь, в штабе, мы все такие же. даже вы можете решить мои вопросы. – Imdad