使用javascript获取选定的文本select2

Posted

技术标签:

【中文标题】使用javascript获取选定的文本select2【英文标题】:Get selected text select2 using javascript 【发布时间】:2015-05-28 18:23:49 【问题描述】:

我有一个 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 数据,而不是我选择的数据。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:
$(".lender_field_code").select2()
.on("change", function(e) 
   $("#select_val").html(e.val);
)

请查看此jsfiddle

【讨论】:

【参考方案2】:

试试这个

    $( document ).ready(function() 
        $( ".lender_field_code" ).change(function() 
            alert( $(this).find("option:selected").text() );
        );
    );

【讨论】:

能否请您edit 解释一下为什么这段代码回答了这个问题?纯代码答案是 discouraged,因为它们不教授解决方案。 此代码无效.....请查看此jsfiddle.net/jEADR/1220 第一个 sn-p 绝对不应该工作(select2('data') 返回一个对象)但第二个可能工作。【参考方案3】:

你也可以试试 在change id 为lender_field_code 的选择事件上,获取selected 项目并使用.val() 读取它的val

$('.lender_field_code').change(function()    
    $('#select_val').append($('.lender_field_code :selected').val());
);

【讨论】:

以上是关于使用javascript获取选定的文本select2的主要内容,如果未能解决你的问题,请参考以下文章

使用选择性从选定内容中获取文本

使用 JavaScript 获取选定的选项文本

在 Vue.js 中的 Vuetify 的 v-select 中获取 Id 作为选定文本

如何使用 Javascript 获取选定文本中的所有 HTML 选择标签?

如何在javascript变量中获取jquery select2选定值[重复]

使用 javascript 从指向不同域的 iframe 中获取选定的文本