【问题标题】:Select2 - How to set value of id stringSelect2 - 如何设置 id 字符串的值
【发布时间】:2017-01-19 02:56:47
【问题描述】:

我有一些问题,使用 select2,我想发送 id 整数的值,但是有问题, 这是我的代码

控制器

$user = User::select('user_reg_no as id', 'user_name as text')->get()->toArray();
return response()->json($user);

js

function get_user() {
    res = $.ajax({
        type: 'get',
        dataType: 'json',
        url: SITE_URL,
        async: false
    });
    return res.responseJSON;
}

var data_user = get_user();

$('#user').select2({
    data: data_user
});

然后当id0000345 但是在select2变成345,怎么处理呢?

【问题讨论】:

  • 您可以发布从控制器获得的示例 json 响应吗?
  • [{"id":"","text":""},{"id":256,"text":"Darth Vader"},{"id":289,"text":"Zero" }] 实际上代码是 00256 和 00289
  • 你能检查一下你的桌子吗?我认为在表本身上它被保存为 256 而不是 00256。
  • 请发布您的迁移文件
  • 您可以在 id 上附加一个字母,以便将其视为字符串,当您从用户那里取回数据时,您可以将其删除

标签: laravel laravel-5.3 select2


【解决方案1】:

您的JSON 响应中的id 是一个整数,因此它将删除前面的零。

选项 1

手动构建JSON 响应,然后从您的控制器发送响应

选项 2

Model中使用$cast数组直接转换属性,

protected $casts = [
   'id' => 'string',
];

【讨论】:

  • 选项 1 和 2 都不起作用,因为 JSON 数据作为字符串传输。如果响应中有application/json,则系统解析它并将其转换为整数。
猜你喜欢
  • 2017-06-06
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 2013-10-23
  • 2022-01-06
  • 2021-01-21
  • 1970-01-01
  • 2021-04-02
相关资源
最近更新 更多