SelectPicker: как получить значение json и отобразить его в раскрывающемся списке как отмеченную опцию? - PullRequest
0 голосов
/ 13 апреля 2020

Как получить значения из JSON и отобразить эти значения как отмеченные опции в селекторе выбора, используя ajax успешный ответ? Я пытаюсь использовать selectpicker $ ('. Selectpicker'). Selectpicker ('val', ['values']) метод val, чтобы получить значения и отобразить их как отмеченную опцию.

Для более ясного описания ниже приведены две таблицы: таблица color_tbl и таблица cars_tbl :

color_tbl

colorID | color    | 
--------------------
01      | White    |
02      | Gray     |
03      | Black    |
04      | Red      |
--------------------

cars_tbl

carID | car    | Color (Foreing Key) and select multiple
---------------------------------------------------------
01    | Ford   | 01, 02, 03
02    | GM     | 02, 03, 04
03    | BMW    | 01, 03, 04
---------------------------------------------------------

Ниже приведен метод выбора:

$ ('.selectpicker').selectpicker('val', ['values']);

И ниже функция jquery, которая выполняет bootstrap модальные, и внутри этой функции ajax получают данные из сценария php и передают значения в JSON формате:

  $(document).on('click', '.update', function(){
        var user_id = $(this).attr("id");

        $.ajax({
            url:"fetch_single.php",
            method:"POST",
            data:{user_id:user_id},
            dataType:"json",
            success:function(data)
            {

                $('#userModal').modal('show');
                $('#car').val(data.car);
                $('.selectpicker').selectpicker('val', [data.color]);

            }
        })
    });

Как и в приведенном выше коде, когда модальное открыто, ввод # car получить правильные данные, но выпадающий список selectpicker # color не получить данные.

Я пытался поместить [data.color] в методе selectpicker val, но нет успеха Я пытаюсь найти правильный способ получить значение объекта json для размещения внутри этого метода и отобразить отмеченные параметры, относящиеся к цветному столбцу, из таблицы cars_tbl .

как я могу это сделать?

1 Ответ

0 голосов
/ 15 апреля 2020

Я нашел решение, чтобы решить мои сомнения. Чтобы превратить строку с разделителями-запятыми в массив, я использовал метод split () в методе selectpicker val, как показано ниже:

$('.selectpicker').selectpicker('val', data.color.split(','));

, и теперь он работает.

...