使用javascript获取所选文本select2
Get selected text select2 using javascript
我有一个select2输入字段,我可以成功地获得所有数据,但我想从下拉列表中获得d个选定数据的测试
这是我的select2输入字段
<%= f.input_field :lender_id, collection: Lender.all.pluck(:code, :id), id: 'lender_field_code', name: 'lender_field_code', class: 'form-control legal-service lender_field_code', prompt: 'Please Select Banker', disabled: (f.object.new_record? ? false : true ) %>
在我的javascript文件中,我有这个
var str1= $('.lender_field_code').select2("data").text();
console.log(str1);
当我选择任何数据时,它会返回select2中的所有d数据,而不是我选择的数据。我该如何解决这个问题?
$(".lender_field_code").select2()
.on("change", function(e) {
$("#select_val").html(e.val);
})
请查看此jsfiddle
尝试这个
$( document ).ready(function() {
$( ".lender_field_code" ).change(function() {
alert( $(this).find("option:selected").text() );
});
});
你也可以试试这个在id为lender_field_code
的select的change
事件上,获取selected
项目并使用.val()
读取其值
$('.lender_field_code').change(function() {
$('#select_val').append($('.lender_field_code :selected').val());
});
虽然上面提到的所有解决方案都能工作,但我不想使用on Change
事件,然后我注意到
var text = $('.lender_field_code').select2("data").text();`
将所选项目加上后面的任何项目作为数组返回,所以我使用了下面的解决方案
var text = $('.lender_field_code').select2("data")[0].text();
index[0]是所选项目
如果你想要这个值,那么你甚至不需要on change
,
Select2 JS直接设置.val()
属性,你可以像这个一样快速获取
var value= $('.lender_field_code').val();
如果您有多个使用Select2
的selects
,则必须使用唯一的名称、id、类等指定目标,或者循环使用它们。
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 使用javascript获取所选文本select2
- 如何使用 select2 显示为文本框
- 如何使用时从select2获取所选文本
- 在 select2 中添加带有文本的图像
- 禁用“;未找到匹配项“;文本并在select2上自动完成
- 允许用户单击关闭select2并保留自由文本
- JQuery-Select2 -操作发送的http-post数据以发送文本而不是id
- 在select2中获得错误,使下拉框使用文本错误Uncaught TypeError: d[b]不是函数
- 使用select2.js为选择文本设置不同的显示值
- Select2:在多个Select2中交换文本和值
- 如何在select2中设置要显示的值而不是文本
- Select2.js v4.0:如何将过滤器文本传输到ajax源数据
- select2文本框上的按键事件不起作用
- jquery select2-使用输入的文本字符串选择所有选项
- 搜索隐藏的select2文本
- 如何将文本附加到 select2 中的选定项目
- 如何在 Select2 ajax 中使用挖空绑定到所选文本