ruby-on-rails 使用javascript获取选定文本select2

gzjq41n4  于 2023-03-09  发布在  Ruby
关注(0)|答案(4)|浏览(108)

我有一个select2输入字段,可以成功获取所有数据,但我想从下拉列表中获取所选数据的测试
这是我的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);

当我选择任何数据它返回所有的d数据在我的select2不是什么我选择.我怎么解决这个?

ssm49v7z

ssm49v7z1#

$(".lender_field_code").select2()
.on("change", function(e) {
   $("#select_val").html(e.val);
})

请查看此jsfiddle

jmp7cifd

jmp7cifd2#

试试这个

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

dba5bblo3#

您也可以尝试此操作在选择的change事件(id为lender_field_code)上,获取selected项并使用.val()读取其瓦尔

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

mwyxok5s4#

虽然上面提到的所有解决方案都可以工作,但我不想使用on Change事件,然后我注意到

var text = $('.lender_field_code').select2("data").text();`

返回选中的项以及其后的任何项,就像数组一样,所以我使用了下面的解决方案

var text = $('.lender_field_code').select2("data")[0].text();

索引[0]为选中项
如果你想要这个值,你甚至不需要on change
Select2 JS直接设置.val()属性,您可以像这样动态获取它

var value= $('.lender_field_code').val();

如果您有多个selects使用Select2,那么您必须使用唯一的名称、ID、类等指定您的目标,或者遍历它们。

相关问题