Ajax-поиск не получает выпадающие значения - PullRequest
1 голос
/ 22 сентября 2019

Я использую плагин Chosen.js для поиска по раскрывающемуся списку, в котором я успешно извлекаю данные и также сохраняю их в базе данных, но не могу получить эти сохраненные раскрывающиеся данные из базы данных в соответствующее поле с помощью поиска Ajax.

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

<script>
  $(document).ready(function () {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
  $('#search').on('keydown', function(e) {
    if(e.which == 13){
    var sid = $("#search").val();
      $.ajax({
                  url: '{{ URL::to('search-data/')}}'+"/"+ sid,
                  type: "Get",
                  dataType: 'json',
                   success: function(response){
                  $("#mob").val(response.mobile);//Working 
                  $("#car").chosen().val(response.car_name);//Not Working
                  $("#car").val(response.car_name);//Not Working
                  //alert(response.car_name);//Working but in alert only
                 }
                });
            }
    });
     });
</script>

HTML:

<div>
<label for="car">Car Name</label>
  <select class="form-control select-box" name="car" id="car">
    <option>Select Car</option>
  </select>
</div >

Iхотите получить сохраненные раскрывающиеся значения в соответствующее поле.

enter image description here

1 Ответ

1 голос
/ 23 сентября 2019

Вам необходимо добавить options в поле выбора, а затем вызвать updated , чтобы выбранные поля выбора получили обновленные изменения.Рабочий пример:

//Suppose you need to append below variable
var response_car_name="abcd";
//append the option and then use trigger event to update select box
   $("#car").chosen().append("<option>"+response_car_name+"</option").trigger("chosen:updated");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">


<div>
<label for="car">Car Name</label>
  <select name="brand"  id="car"class="form-control select-box " name="car" >
    <option>Select Car</option>
  </select>
</div >
...