2015-02-02 1 views
-1

Я пытаюсь использовать автозаполнение jquery UI, но так или иначе не будет отображаться, несмотря на отсутствие ошибки javascript.JQuery UI auto complete (с пользовательским листингом) не работает

вот мой JSON данные:

{"d":"[{\"label\":\"XYZ\",\"desc\":\"desc 1\",\"value\":\"XYZ\",\"ID\":595,\"icon\":\"UM-892983\"},{\"label\":\"ABC .\",\"desc\":\"desc 2\",\"value\":\"ABC .\",\"ID\":1681,\"icon\":\"UM-432944\"}]"} 

Вот мой JS Функция для обработки автозаполнения:

$().ready(function(){ 
    $("#txtName").bind("keyup", function (e) { 
      // Ajax call returns the above json data 

      // On Ajax Success I call 
      onSucName(returnData.d); 
    }); 
}); 

function onSucName(result) { 
var varArrAdms = $.parseJSON(result); 
$("#txtName").autocomplete({ 
    source : varArrAdms, 
    select : function (event, ui) { 
     setNameValue(ui.item.icon) 
     $("#txtNo").val(ui.item.icon) 
     $("#btnSearch").click(); 
    }, 
    open : function() { 
     $(this).addClass('loadingTxtBox'); 
    }, 
    close : function() { 
     $(this).removeClass('loadingTxtBox'); 
    } 
}).data("ui-autocomplete")._renderItem = function (ul, item) { 
    return $("<li></li>").data("item.autocomplete", item).append("<a>" + item.value + " <b> desc:" + item.desc + "</b> <i> No:" + item.icon + "</i></a>").appendTo(ul); 
}; 
} 

Где я ошибаюсь?

ответ

0

Попробуйте этот пример

$('#txtName').autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        url: 'url', 
        data: {}, //pass data here 
        dataType: 'json', 
        type: 'post', 
        success: function (data) { 
         response($.map(data, function (item) { 
          return { 
           label: item.icon 
          } 
         })); 
        } 
       }) 
      }, 
      select: function (event, ui) { 
       var itemval = ui.item.label; 
       // here you can access selected result `itemval` 
       return false; 
      }, 
      minLength: 1 

     }); 
0

Почему вы связывание автозаполнения на KeyUp .... Скорее всего вы должны связать его один раз. Кроме того, прежде чем перевязать его, вы уничтожаете существующий экземпляр.

 Смежные вопросы

  • Нет связанных вопросов^_^