【问题标题】:SelectPicker: How to get json value and display inside dropdownlist as checked option?SelectPicker:如何获取 json 值并在下拉列表中显示为选中选项?
【发布时间】:2020-04-13 01:33:50
【问题描述】:

如何使用 ajax 成功响应从 JSON 中获取值并在 selectpicker 中将这些值显示为选中的选项?我尝试使用 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').selectpicker('val', ['values']);

下面是执行引导模式的jquery函数,在这个函数内部,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]);

            }
        })
    });

如上代码,当modal打开时,输入#car接收到正确的数据,但是selectpicker dropdownlist #color没有接收到数据。

我试图将 [data.color] 放在 selectpicker val 方法中,但没有成功。我试图找到一种正确的方法来获取 json 对象值以放入此方法并显示与 cars_tbl 表中的颜色列相关的检查选项。

我该怎么做?

【问题讨论】:

    标签: php jquery json ajax bootstrap-selectpicker


    【解决方案1】:

    我找到了解决我疑惑的方法。要将逗号分隔的字符串转换为数组,我在 selectpicker val 方法中使用了“split()”,如下所示:

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

    它现在可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多