此问题专门针对Select2 v4
如何为Value
下拉列表选择Select2
?
我尝试了以下内容:
jQuery('#Dropdown').val()
jQuery('#Dropdown').select2().val()
并且似乎都没有给我所选元素的值。我确保在运行此代码时有一个选定的项目。
答案 0 :(得分:2)
select2不提供任何直接方法来获取选定的选项属性值。您需要在select2中选择选项元素,然后找到其属性ID:
jQuery('#Dropdown').select2().find(":selected").attr("id");
可以缩小为:
jQuery("#Dropdown :selected").attr("id");
答案 1 :(得分:1)
试试这个:
$('#Dropdown').select2('data')[0].text;
答案 2 :(得分:0)
如果你有这样的选择:
<select class="select2-hidden-accessible" data-placeholder="Select a value" tabindex="-1" aria-hidden="true">
<option></option>
<option value="1">Option 1</option>
</select>
和&#34;选项1&#34;项目已被选中。
var $select = $(".select2").parent().find("select"); // it's <select> element
var value = $select.val();
然后$select.val()
将返回&#34; 1&#34;你的价值。
答案 3 :(得分:0)
如果您真正感兴趣的是值而不是id,为什么不将id值设置为与值相同的值 - 因为每个值都是唯一的。
然后你可以简单地做 -
jQuery('#Dropdown').val()
返回id,但由于我们的id与value相同,因此我们获取值并将其用于进一步处理。
注意我的选择是一个输入 -
<input class="text" type="text" name="select" id="select">
$("#select").select2({
data : dataSet
});
和dataSet是像
这样的元素数组[
{id: "value1", text: "value1"},
{id: "value2", text: "value1", selected: "selected"}
]
答案 4 :(得分:0)
Select2提供了一个onselect
事件,您可以在其中传递事件参数,从中可以派生选定的选项。
$('.selectSports').on('select2:select', function(event) {
event.params.data // returns you the selected item.
});
然后您可以先做if event.params.data.id == "your_target_id"
,然后再做某事
答案 5 :(得分:0)
<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
在select2('data')之后通知[0]吗?
在Select2 v2上,不需要它$('#Dropdown')。select2('data')。text;
Select2 v4返回一个名为结果的对象数组,因此需要添加[0]