【问题标题】:Send data at once to view or consult remote data with ajax in select2一次发送数据以在 select2 中使用 ajax 查看或查询远程数据
【发布时间】:2019-06-26 21:13:02
【问题描述】:

我在做一个大项目,它有很多表格,表格有很多元素。

性别案例只有4个选项,然后我将其设置为:(我将所有值一次发送到我的视图)
$('#gender').select2();
客户案例有993324个选项,我设置为:(通过ajax查询远程数据)
$('#client').select2({ ajax: { url: 'url/to/myclients', dataType: 'json' ... } });

我还有其他具有 100、300、5000、10000、50000.. 的对象,我不知道是否将所有数据发送到我的视图或使用 ajax 查询远程数据?

正确的工作方式是什么?为了不减慢查看速度或使其难以使用。

【问题讨论】:

    标签: html ajax jquery-select2


    【解决方案1】:

    正确的是不使用所有可能的响应填充选择,而是将它们保持为空,并在用户键入时使用 ajax 获取响应在搜索输入中

    例如,客户端 select2,您将其加载为空,当用户开始输入 select2 搜索 (onChange) 时,进行 ajax 调用,将该输入值发送到服务器,然后服务器查询数据库中的可能行具有输入的值并返回一个 json,然后填充 select2。

    你可以玩多少次或何时触发 ajax fetch,例如,仅当用户写入超过 3 个字符时触发,查询之间等待几秒钟等。 p>

    您还可以对服务器查询设置限制,因此即使他们输入了一个常见的名称,例如 John,它也只会返回 X 值,而不是所有带有 John 的数千个客户端名字。

    【讨论】:

      猜你喜欢
      • 2016-06-11
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2017-10-28
      • 2020-07-28
      • 2021-01-30
      相关资源
      最近更新 更多