select2 动态改变项目

2024-02-11

我有两个链接的选择:第一个选择的每个值决定哪些项目将显示在第二个选择中。

第二个选择的值存储在二维数组中:

[ [{"id":1,"text":"a"}, {"id":2,"text":"b"},...],
  [{"id":"1a","text":"aa"},{"id":"1b","text":"ba"},...],
  ...
]

第一个选择值确定用于填充第二个选择的索引。因此,在第一个“更改”事件中,我应该能够修改 select-two 包含的项目。

阅读文档我认为我需要使用“数据”选项......但不确定示例如何在初始化时加载数组数据,如果我在初始化后尝试执行相同的操作,它似乎不起作用。

HTML

Attribute:
<select name="attribute" id="attribute">
    <option value="0">Color</option>
    <option value="1">Size</option>
</select>

Value:
<select name="value" id="value"></select>

<script>
   var data = [ [{"id":1,"text":"black"}, {"id":2,"text":"blue"},...],
                [{"id":"1","text":"9"},{"id":"1","text":"10"},...],
              ];
   $('#attribute').select2().bind('change', function(){
      // Here I need to change `#value` items.
      $('#value').select2('data',data[$(this).val()]);  // This does not work
   );

   $('#value').select2();
</script>

我已经为您制作了一个示例,展示了如何做到这一点。

请注意 js,还要注意我将 #value 更改为输入元素

<input id="value" type="hidden" style="width:300px"/>

我正在触发change获取初始值的事件

$('#attribute').select2().on('change', function() {
    $('#value').select2({data:data[$(this).val()]});
}).trigger('change');

代码示例 http://jsfiddle.net/bbAU9/

Edit:

在 select2 的当前版本中,类属性从隐藏输入转移到 select2 创建的根元素中,甚至select2-offscreen将元素定位到页面限制之外的类。

要解决这个问题,只需添加removeClass('select2-offscreen')在同一元素上第二次应用 select2 之前。

$('#attribute').select2().on('change', function() {
    $('#value').removeClass('select2-offscreen').select2({data:data[$(this).val()]});
}).trigger('change');

我添加了一个新的代码示例 http://jsfiddle.net/eGXPe/来解决这个问题。

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

select2 动态改变项目 的相关文章

  • ReferenceError:regeneratorRuntime未定义(但在范围内工作)

    我遇到过这种奇怪的情况 ReferenceError regeneratorRuntime is not defined 我已经设法在一个非常小的设置中重现 与同一问题上的类似问题相比 并且还注意到一些奇怪的行为 具体取决于是否使用范围 以
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么我的淘汰单选按钮在另一个具有点击绑定的元素内时会失败?

    我有一个单选按钮列表 我想要点击 li 他们还检查单选按钮 这一切都有效 直到我放了一个name单选元素上的属性 然后我的代码停止工作 我的代码如下所示 ul li li ul li
  • 是否存在 IsCallable 为 false 但 IsConstructor 为 true 的 JS 对象?

    ECMAScript 规范函数可调用 https www ecma international org ecma 262 6 0 index html sec iscallable当且仅当其参数具有 Call 内部方法时返回 true 它在
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea

随机推荐

  • AVPlayer 空白视频:播放声音但没有视频

    这个问题 https stackoverflow com questions 16802630 avplayer video blank but hear sound有同样的问题 但解决方案不起作用 The AVPlayer有时会播放空白视
  • 如何在android中获取“YYYY-MM-DD”格式的日期对象

    我有一个要求 我需要比较两个日期 一个日期将来自数据库 它是 YYYY DD MM 公司中的字符串 我需要将此字符串日期与当前日期进行比较 为此 我将日期字符串转换为日期对象 现在我还需要 YYYY MM DD 格式的当前日期 它应该是 D
  • 允许导航和允许意图之间的区别

    有谁知道科尔多瓦白名单中允许导航和允许意图之间的区别 根据文档 允许导航 控制哪些 URLWebView本身可以导航到 适用 仅适用于顶级导航 允许意图 控制允许应用程序询问哪些 URLsystem打开 经过 默认情况下 不允许使用外部 U
  • 在本机反应中运行 mount() 不可能吗?

    这篇文章延续了我之前的问题 上一个问题 https stackoverflow com questions 52265354 jest test fails with refs and form 52282510 noredirect 1
  • 使用 mysql2pgsql 将数据库从 MySql 传输到 Postgres 时出错

    为了在 Heroku 上托管我的 Python Django 应用程序 我尝试按照以下说明将我的数据库从 MySQL 转换为 Postgreshttps realpython com blog python migration your d
  • 如何将 Map[CustomType, String] 序列化为 JSON

    鉴于以下情况Enumeration object MyEnum extends Enumeration type MyEnum Value val Val1 Value val1 val Val2 Value val2 val Val3 V
  • 如何使用 CodeIgniter 在 SQL Server 数据库中存储多字节字符

    我正在将 MS SQL Server 和 CodeIgniter 2 与 Active Record 用于我正在从事的一个项目 我偶然发现了这个问题 当我提交包含中文或印地语字符的表单时 我将其存储在表格中 当我查看它时 我得到的只是问号
  • 显示其他属性值(如果 django 模板中已知)

    我在 django 中有这个应用程序 我正在尝试制作 这是index html页面 h1 Choose the name of student h1
  • 在 C# 中将 lambda 函数作为命名参数传递

    编译这个简单的程序 class Program static void Foo Action bar bar static void Main string args Foo gt Console WriteLine 42 那里没什么奇怪的
  • 使用 Simple Injector 注册 FluentValidation 的正确方法是什么?

    我可以注册 FluentValidationAbstractValidators用一个FluentValidatorFactory 然而 它并没有feel是的 因为并非所有 IoC 容器注册都发生在引导 组合根期间 相反 The 成分根 p
  • 创建表格时如何提高 iText 性能

    嘿 很棒的 Stackoverflow 人 我目前正在评估我们是否应该使用 iText 7 1 9 for Java 还是 C 为此 我创建了一个测试用例 其中我编写了一个包含一堆页面的 PDF 每个页面都包含一个大表格 代码如下 在 Ja
  • 堆栈里面有什么?

    如果我运行一个程序 就像 include
  • 使用 JavaScript 上传文件夹及其所有内容

    如何使用 JavaScript 客户端 上传文件夹的内容 FileSystem API尚未被Chrome以外的浏览器采用 我只得到一个带有文件夹名称的文件项 这应该是可能的 因为 Google Drive 允许删除文件夹 所有内容 文件夹和
  • 为视频添加标签

    我必须编写一个简单的视频播放器 可以在特定时间显示一些字幕 链接或图片 如 YouTube 上的图片 我不知道如何使用 QVideoWidget 显示任何内容 我找不到任何有用的课程来做到这一点 您能给我一些建议吗 我按照你的方式做了 但是
  • 更改数据框的列类型

    我有一个包含大量值的数据框 数据框如下 gt datedPf date ticker quantity 96828 2013 01 11 ABT 700 96829 2013 01 11 AMD 9600 96830 2013 01 11
  • Android删除SIM卡联系人的方法

    下面是我从手机中删除联系人的代码 Uri contactUri Uri withAppendedPath PhoneLookup CONTENT FILTER URI Uri encode phone Cursor cur mContext
  • 单击外部链接时更改谷歌地图标记图标?

    我有一个谷歌地图 上面有很多标记 从 MySQL 数据库收集 我当前正在使用以下代码在单击标记时更改标记的图标 var redbikeicon images bike red png marker new google maps Marke
  • 即时应用程序功能模块中的资源合并

    在即时应用程序功能模块中 我导入一个 aar 使用来自 Maven 存储库的 api 语句 其中包含其清单中的活动声明以及此声明中使用的 样式 资源 由于在基本功能项目中找不到样式资源 因此清单合并失败 功能模块中导入的 aar 的资源似乎
  • IE 11 添加类 + 删除类

    我无法让此代码在 Internet Explorer 11 上运行 我知道此段导致了问题 如果我在激活此代码的情况下上传文件 IE 11 会将我网站的整个部分完全显示为空白 没有它 它会在我的网站上显示信息 但它的功能显然不一样 我查过各种
  • select2 动态改变项目

    我有两个链接的选择 第一个选择的每个值决定哪些项目将显示在第二个选择中 第二个选择的值存储在二维数组中 id 1 text a id 2 text b id 1a text aa id 1b text ba 第一个选择值确定用于填充第二个选