2014-08-26 3 views
-1

У меня есть правильный маниакальный день, пытаясь выяснить, как отправить ключ, а не значение поля ввода.JQuery AutoComplete Ключ сообщения

Jquery

jQuery(document).ready(function() { 
    jQuery("#autocomplete").autocomplete({ 
    source: function (request, response) { 
     jQuery.ajax({ 
      url: "{{URL('/autocomplete')}}", 
      data: { 
       autocomplete: this.term 
      }, 
      success: function (data) { 
        console.log(data[0]['label']); 
        response(jQuery.map(data, function(item) { 
        return { 
         label: item.label, 
         value: item.id 
        }; 
       })); 
      }, 
      //This does not get picked up? 
      select: function(event, ui){ 
       alert('this is not firing on select?'); 
       jQuery('#hidden').val(ui.item.value); 
      } 

     }); 
    }, 
}); 

Я обновил код, до сих пор я не могу получить ключ толкнул в скрытом поле на выбор.

Live Preview (тип Стоук в поисках местонахождения) http://isca01.bigwavemedia.info/~hospita2/crawler/public/index.php/search

+0

Я не уверен, чтобы понять вас. Это ввод автозаполнения, как вы хотите использовать ключ вместо значения? –

+0

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

+0

В вашем успехе AJAX попробуйте 'значение: item.value' вместо' value: item.id'. – StaticVoid

ответ

0
jQuery(document).ready(function() { 
jQuery("#autocomplete").autocomplete({ 
    source: function (request, response) { 
     jQuery.ajax({ 
      url: "{{URL('/autocomplete')}}", 
      data: { 
       autocomplete: this.term 
      }, 
      success: function (data) { 
        response(jQuery.map(data, function(item) { 
        return { 
         label: item.label, 
         value: item.label, 
         key: item.id 
        }; 
       })); 
      }, 


     }); 
    }, 
    select: function(event, ui){ 
      console.log('something selected'); 
      jQuery('#hidden').val(ui.item.key); 

      //jQuery('input[name="autocomplete"]').val(ui.item.label); 

      jQuery('#autocomplete').attr({ 
      value: ui.item.label 
      }); 

      console.log(ui.item.label); 
      console.log(jQuery('input[name="autocomplete"]').val() + "this is the result of above"); 
    } 
}); 


}); 
Смежные вопросы