Select2 使用ajax响应数据生成id

2024-01-05

我的 JSON 响应数据不包含 ID 字段,而 Select2 需要该字段才能显示结果。在文档中,他们提供了一种生成 id 的方法,但是我无法这样做。有人可以提供一个关于如何执行此操作的示例吗?到目前为止我已经尝试过了:

  $('.itemSearch').select2(
     ajax: {
     type: "POST",
     url: '/Default.aspx/TestMethod',
     data: function(params){
       var query={
           message:params.term
       }
       return JSON.stringify(query);
     },
     processResults: function (data) {
                var data1 = $.map(data, function (obj) {
                   obj.id = obj.id || obj.ItemNumber; // replace pk with your identifier
                   return obj;
                });                         
      return {
         results: data.items,
      };
    }
   }
 });

这是一个正确的片段,使用index in map函数作为 idSelect2:

var data = [{
    "text": "Test item no. 1"
  },
  {
    "text": "Test item no. 2"
  },
  {
    "text": "Test item no. 3"
  },
  {
    "text": "Test item no. 4"
  }
];

$('.itemSearch').select2({
  ajax: {
    type: "POST",
    url: '/echo/json/',
    data: function(params) {
      var query = {
        message: params.term,
        data: data
      }
      return {
        json: JSON.stringify(query)
      }
    },
    processResults: function(data) {
      var data1 = $.map(data.data, function(obj, idx) {
        obj.id = obj.id || idx;
        return obj;
      });
      return {
        results: data1,
      };
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />

<select id="myselect2" class="itemSearch" data-placeholder="click to load..." style="width:200px">
</select>

这里有一个可用的小提琴:https://jsfiddle.net/beaver71/7rqg3rck/ https://jsfiddle.net/beaver71/7rqg3rck/


P.S.:

这里的代码片段不起作用,因为有一个 Ajax 调用。

相反,Jsfiddle 使用户能够模拟这些 Ajax 调用,但在示例中,数据被发送(通过 POST)到“/echo/json/”服务,并作为同一 Ajax 请求的结果反射回来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Select2 使用ajax响应数据生成id 的相关文章

  • 实现悬停信息框

    我有一个日历 当用户将鼠标悬停在单元格上时 会出现一个很大的信息框 其中包含该日期的详细信息 虽然当用户离开时使信息框消失 但我遇到了一些麻烦 我基本上想要它 这样当鼠标光标移出信息框隐藏的日历单元格时 它就会消失 但我遇到了麻烦 因为mo
  • 在 setInterval / setTimeout 中使用变量作为时间[重复]

    这个问题在这里已经有答案了 这是一个示例情况 var count time 1000 setInterval function count 1 time 上面的代码会将 count 变量加 1 即 1000 毫秒 看来 setInterva
  • 弹出窗口的动态高度取决于内容,可能吗?

    是否有可能获得一个宽度始终为 400px 的弹出窗口 但根据弹出窗口中的内容动态高度 我已经看到了这个 但不知道如何将其应用到弹出窗口 调整 iframe 的宽度高度以适应其中的内容 https stackoverflow com ques
  • jQuery Find() 和 XML 在 IE 中不起作用

    我正在尝试使用 jQuery 来解析内存中的 XML 文档 除了 IE 之外 这在所有东西上都很有效 令人震惊 一些谷歌搜索显示 问题很可能是由于 IE 将我的文档视为 HTML 而不是 XML MIME 类型 有没有办法让我的 jQuer
  • Jquery:将链接标记为已访问而不打开它们?

    我无意仅仅更改链接 我听说这是不可能的 但如果不是 我很想知道如何更改 如果需要的话 我可以将其添加到浏览器历史记录中 我想遍历所有 a 位于页面上并将其状态更改为已访问 例如 a each function mark as visited
  • Javascript Ajax 优雅降级,不同页面?

    我开始更加关注如何让我的 javascript 和 ajax 优雅地降级 比较推荐哪个 致力于将优雅降级合并到现有代码中 可能很棘手 或者 为非 js 用户开发一组不同的页面 我倾向于不同的页面集 因为我觉得它更容易 并且我可以为每种用户类
  • 在画布上绘制多个矩形

    我试图在鼠标移动时在画布上添加多个矩形 但是当我在图像上绘制矩形时 画布上的背面图像也会被清除 我不想删除它 我想要画布上有多个矩形而不清除画布图像 请检查下面的 JavaScript 代码 var canvas document getE
  • jQuery.post 改变 HTML 中的一些特殊字符

    TinyMCE 中的示例数据 和 以上HTML代码 p 10003 and 9786 9999 9986 p 之前 工作正常 在保存的文档中获得相同的字符 function save and submit var tinyGenData t
  • 下划线反跳与参数

    假设我有这个事件处理程序 var mousewheel function e blah 但是 我想消除它 所以我这样做 它按预期工作 var mousewheelDebounced debounce mousewheel 500 docum
  • 当所选选项是下拉列表中已选择的选项时如何接收事件?

    动机 我想动态加载一个select使用来自 AJAX 调用的值 并允许用户select加载后列表中的第一项after它获得焦点 现在 第一项是selected项目 当您单击下拉列表并单击第一项时 什么也没有发生 我无法添加任何无效选择的占位
  • RegisterForEventValidation 只能在 Render 期间调用

    我有一个将从 jquery ajax 调用的 webmethod WebMethod public string TestMethod string param1 string param2 StringBuilder b new Stri
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 为什么点击内容后放大的ajax弹出框会关闭

    请帮助我 我一直在尝试让放大的弹出ajax框显示登录表单 似乎表单出现了 但是一旦我单击表单或ajax主体中的任意位置 它就会消失 下面是代码 document ready function ajax popup link magnific
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • jQuery,REAL:不是等价的运算符?

    此代码行选择任何类名不是 id 和 quantity 的 div 内的所有子输入 div item gt div not id quantity gt input live keydown function event 执行相反操作的代码行
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • IE 中的 jQuery .width(val) 错误 - 无效参数

    通过ajax加载内部div book table 后 我想调整正文的宽度以适应更大的内容 var new width parseInt book table css width 407 body width new width 在 FF 和
  • JQuery 验证在 IE8 中不起作用

    我使用 JQuery 验证脚本来验证 HTML 表单 这在 Firefox 中完美运行 但在 IE8 中不起作用 我认为冒号 或分号 有问题 但我无法抓住它 jQuery validator addMethod selectNone fun
  • 优雅降级 - 何时考虑

    在为使用 AJAX 的应用程序设计和构建 UI 时 您何时考虑优雅降级 对于禁用 JavaScript 或正在使用屏幕阅读器的用户 最后 网站的 AJAX 版本完全完成后 在每个发展阶段 I don t 还有别的事 这些日子 渐进增强 ht

随机推荐

  • 无法访问 usort() 函数调用内部的全局变量

    我正在尝试使用usort 并在其函数范围内利用全局变量 但没有成功 我已将代码简化为简单的框架以展示我的意思 testglobal 1 function cmp a b global testglobal echo hi testgloba
  • 对哈德逊的“圣杯战争”自动回复“是”

    我们正在使用 grails war 来构建对 hudson 的战争 然后将另一项工作部署到我们的测试环境 问题在于 当 grails war 遇到插件升级时 它会不断要求用户升级某些插件 有没有办法对所有用户输入响应 y 我尝试过 non
  • 服务器端病毒扫描[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何读取数据文件?

    如果我有数据file txt我想使用以下命令将数据读取到变量中 set 我怎样才能做到这一点 如何将一行移动到另一行 根据您的评论从文件中读取两行 echo off setLocal EnableDelayedExpansion for f
  • 在异步任务之间自由切换的正确方法是什么?

    假设我有一些异步运行的任务 它们可能是完全独立的 但我仍然想设置任务暂停的点 以便它们可以同时运行 并发运行任务的正确方法是什么 我目前正在使用await asyncio sleep 0 但我觉得这增加了很多开销 import asynci
  • akka 中每个主机的最大 Actor 数量

    akka 的一个盒子上最多可以有多少个 actor public void MyActor extends AkkaActor receive Objet obj so something 1 Is there some limit on
  • 对列表进行子类化的 Pythonic 方式

    这是我的一般问题空间 我通过 I2C 与设备建立了字节 位协议 我有一个命令的 数据库 可以完整描述所有位字段类型 值和枚举 我有一个类来使用数据库和一个 i2c 驱动程序 事务器 以便我可以调用命令并获取响应 MyProtocol Pro
  • Android L 中的警报对话框按钮问题

    我在我的应用程序中创建了一个 AlertDialog 在 Android L AlertDialog 按钮适合对话框之前 但在 Android L 中按钮标签会自动转换标题大小写 并且按钮不适合对话框 请看截图 Android L 安卓奇巧
  • 通过vscode的SSH隧道打开Matplotlib图

    我正在设置一个远程工作站 以便在另一台包含 GPU 的计算机上从我的笔记本电脑运行与机器学习相关的 python 代码 我使用 vscode 的 SSH 远程功能来远程运行和调试我的代码 我对这个界面非常满意 但是 我无法生成来自 matp
  • python身份字典[重复]

    这个问题在这里已经有答案了 可能的重复 如何制作一个 python 字典 返回字典中缺少的键的键 而不是引发 KeyError https stackoverflow com questions 6229073 how to make a
  • 当使用 swift3.0 执行按钮操作时,如何在 ios 移动设备中打开文档文件,例如(.pdf、.doc、.docx)?

    我需要打开UIDocumentPickerViewController它应该允许用户选择所有类型的文件 即我使用的 pdf doc 文件UIDocumentPickerViewController方法 我的代码 UIDocumentPick
  • 使用前导点符号调用 Swift 类工厂方法?

    在最近的一个问题中 发帖者有这样一行有趣的代码 self view backgroundColor whiteColor 看到这一点我很惊讶 我只见过前导点用于枚举值的符号 在这种情况下 backgroundColor属于类型UIColor
  • 在 C# 中解析 json 文件以获取所有部分和属性

    更新 因此 在试图正确表达这个问题时 我误导了响应者 没有给我我需要的答案 抱歉 让我试着澄清一下 我需要能够循环浏览一个 json 文件 该文件的结构不像我在 OP 中指出的那样 它更加随机 OP 文件没有很好地传达这一点 让我尝试描述一
  • asmack XMPP新用户注册

    StackOverflow 的好心人 请帮忙 我已经在我的 ubuntu 机器上设置了一个 ejabberd 服务器 添加了虚拟主机 设置 访问 注册 允许 全部 并注册了一个管理员帐户 我不是 Linux 专家 但我已经成功完成了这个基本
  • 计算“this”和“that”元素之间的元素数量

    我试图知道 DOM 中被单击的元素与某个其他元素的距离有多 远 li item1 li li item2 li li class active item3 li li item4 li li item5 li li item6 li li
  • Postgres JSONB 字段中的全局替换

    我需要全局替换嵌套 JSON 结构中多个位置出现的特定字符串 该字符串作为 jsonb 存储在 postgres 表中 例如 location tmp config alternate location name config locati
  • 无法使用 BatchNorm 层导入冻结图

    我基于此训练了一个 Keras 模型repo https github com bonlime keras deeplab v3 plus 训练后 我将模型保存为检查点文件 如下所示 sess tf keras backend get se
  • 使用 JQuery(立即)检测对 的所有更改

    价值的体现有多种方式
  • 使用 PowerShell 匹配存储在变量中的字符串

    我正在尝试创建一个备份脚本来移动超过 30 天的文件 但我希望能够从列表中排除文件夹 a C Temp Exclude test b C Temp Exclude 如果我运行以下命令 a match b 下列的 Guy Guy Thomas
  • Select2 使用ajax响应数据生成id

    我的 JSON 响应数据不包含 ID 字段 而 Select2 需要该字段才能显示结果 在文档中 他们提供了一种生成 id 的方法 但是我无法这样做 有人可以提供一个关于如何执行此操作的示例吗 到目前为止我已经尝试过了 itemSearch