我正在使用select2控件,loading data通过ajax.这需要使用<input type=hidden..>标签.

Now, I want to retrieve the selected text. (The value property in the data-bind expression sotres the id only)

我已经try 了$(".select2-chosen").text()个,但当我在页面上有多个select2控件时,这会中断.

推荐答案

从2到4.x、 它总是返回一个数组,即使对于非多选列表也是如此.

var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);

Select 2 3.x及以下

单选:

var data = $('your-original-element').select2('data');
if(data) {
  alert(data.text);
}

请注意,如果没有 Select ,变量"data"将为null.

多选:

var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);
alert(data[1].text);
alert(data[1].id);

从3.x docs开始:

data Gets or sets the selection. Analogous to val method, but works with objects instead of ids.

data method invoked on a single-select with an unset value will return null, while a data method invoked on an empty multi-select will return [].

Jquery相关问答推荐

退出 jquery.each 循环后

更改高亮 colored颜色

jQuery单击/切换两个功能

如何用 javascript/jquery 替换 url 参数?

何时执行 $(document).ready 回调?

jquery 淡入淡出元素不显示样式为可见性:隐藏的元素

如何计算具有相同类的元素数量?

找到下一个匹配的sibling 姐妹的有效,简洁的方法?

在 Javascript 中,字典理解或 Object `map`

禁用 Android 网页中输入焦点的zoom

jQuery计算所有文本字段中的值的总和

如何使用 Javascript/jQuery 确定图像是否已加载?

将打开/关闭图标添加到 Twitter Bootstrap 可折叠项(手风琴)

为 jQuery AJAX 调用实现加载指示器

用 Javascript 加载 jQuery 并使用 jQuery

父母的jQuery父母

页面加载后如何执行jquery代码?

如何在 JavaScript / jQuery 中获取对象的属性?

获取jQuery中下拉列表的值

使用 jQuery 将一个标签替换为另一个标签