Как определить параметр типа с автозаполнением JQuery?

0

У меня есть две данные по этой другой ссылке

Ссылка 1

/api/products?type=tour_package

Data1

[{"id":"-1","type":"tour_package","name":"Hello World"},
{"id":"1","type":"tour_package","name":"My title"}]

Ссылка 2

/api/products?type=nontour_product

Data2

[{"id":"-1","type":"nontour_product","name":"Korea Tickets"}]

Я хочу показать значение в поле ввода

Мой код

$('#product_name').autocomplete({ 
  source: function( request, response ) {
    url = "/api/products?type=" + request.term;

    $.getJSON( url , function(data) {
      response(data);
    });                 
  },
  minLength: 3, 
  select: function( event, ui ) {
    $($(this).data('target')).val(ui.item[ 'type' ]);
    $(event.currentTarget).val(ui.item[ 'name' ]);
  } 
});

HTML-код

<tr>
  <td><?= form_dropdown('product_type', array(
                          'custom' => 'Custom',
                          'tour_package' => 'Tour',
                          'nontour_product' => 'Generic',
                          'flight' => 'Flight',
                          'hotel_room' => 'Hotel'
                        )); ?>
  </td>
  <td><?= form_input(array('data-property'=>'product_name','style'=>'width:70px;','id'=>'product_name')) ?></td>
</tr>
Теги:
autocomplete

1 ответ

1
Лучший ответ

Триггер по ссылке на доступ основан на изменении раскрывающегося списка "product_type", чтобы он мог выглядеть так...

$('#product_type').change(function(){
    var productType = $("#product_type").val();
    var url = "/api/products?type=" + productType;

    $('#product_name').autocomplete({
        source:url,
        minLength: 3,
        select: function( event, ui ) {

            $($(this).data('target')).val(ui.item[ 'type' ]);
            $(event.currentTarget).val(ui.item[ 'name' ]);
        }

    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню