Jquery 在Select2 v4中获取所选值
此问题专门针对Select2 v4 如何获取Select2下拉列表的选定值 我尝试了以下方法:Jquery 在Select2 v4中获取所选值,jquery,jquery-select2,Jquery,Jquery Select2,此问题专门针对Select2 v4 如何获取Select2下拉列表的选定值 我尝试了以下方法: jQuery('#Dropdown').val() jQuery('#Dropdown').select2().val() 两者似乎都没有给出所选元素的值。我已确保在运行此代码时存在选定项。select2不提供任何直接方法来获取选定选项属性值。您需要在select2中获取所选选项元素,然后查找其属性ID: jQuery('#Dropdown').select2().find(":selected"
jQuery('#Dropdown').val()
jQuery('#Dropdown').select2().val()
两者似乎都没有给出所选元素的值。我已确保在运行此代码时存在选定项。select2不提供任何直接方法来获取选定选项属性值。您需要在select2中获取所选选项元素,然后查找其属性ID:
jQuery('#Dropdown').select2().find(":selected").attr("id");
其范围可以缩小为:
jQuery("#Dropdown :selected").attr("id");
如果您有这样的选择:
<select class="select2-hidden-accessible" data-placeholder="Select a value" tabindex="-1" aria-hidden="true">
<option></option>
<option value="1">Option 1</option>
</select>
并选择选项1项
var $select = $(".select2").parent().find("select"); // it's <select> element
var value = $select.val();
然后$select.val将为您返回1个值。尝试以下操作:
$('#Dropdown').select2('data')[0].text;
如果您真正感兴趣的是值而不是id,那么为什么不将id值设置为与您的值相同的值呢?因为每个值都是唯一的 然后你可以简单地做-
jQuery('#Dropdown').val()
它返回id,但由于我们的id与值相同,因此我们获取值并将其用于进一步处理
注意:我的选择是一个输入-
<input class="text" type="text" name="select" id="select">
$("#select").select2({
data : dataSet
});
Select2提供一个onselect事件,您可以在其中传递事件参数,从中可以派生所选选项
$('.selectSports').on('select2:select', function(event) {
event.params.data // returns you the selected item.
});
然后,如果event.params.data.id==您的\u目标\u id,则可以执行以下操作
<select id="Dropdown">
<option id="1">Value 1</option>
<option id="2">Value 2</option>
</select>
$('#Dropdown').select2('data')[0].id; //to get the id
$('#Dropdown').select2('data')[0].text; //to get the value
请注意选择2“数据”后的[0]
在选择2 v2时,不需要它$'Dropdown'。选择2'data'。text
select2v4返回一个名为results的对象数组,因此需要添加[0]>jQuery'Dropdown'。Select2-我认为,这是不正确的,它将初始化一个新实例您所选元素的ID是什么意思?选择有选项,每个选项都有值和标题。“你是说价值吗?”伯劳克,我想是的
<select id="Dropdown">
<option id="1">Value 1</option>
<option id="2">Value 2</option>
</select>
$('#Dropdown').select2('data')[0].id; //to get the id
$('#Dropdown').select2('data')[0].text; //to get the value