将整数数组发送到 AJAX 中的选择器值

Sending an array of integers to a selectpicker value from AJAX

在弹出模型时,我需要一个选择器下拉列表来预先填充值。我已经通过手动输入一些 ID 来测试此方法是否有效,如下所示:

$("#listPhones").selectpicker('val', [1,5]);
$("#listPhones").selectpicker("refresh");

我的 [WebMethod] 函数在代码后面 returns 一个像这样的字符串:

1,5

我使用 data.d 插入它,所以最终输出是:

                $.ajax({
                    type: "POST",
                    url: "/default.aspx/GetRespIds",
                    data: JSON.stringify({ Responders: editPhonetbxValue }),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        //alert(data.d);
                        $("#listPhones").selectpicker('val', [data.d]);
                        $("#listPhones").selectpicker("refresh");
                    }
                });

手动输入 1,5 值可以正常工作并按预期选择下拉列表中的项目,但是通过 AJAX data.d 变量解析它却不行 - 谁能指出我正确的方向?

如果您使用 return 一个字符串并且您想要一个数组,您必须使用 split。您还必须将其解析为 int。试一试:

$("#listPhones").selectpicker('val', data.d.split(',').map(Number));