Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Select2 v4中获取所选值_Jquery_Jquery Select2 - Fatal编程技术网

Jquery 在Select2 v4中获取所选值

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"

此问题专门针对Select2 v4

如何获取Select2下拉列表的选定值

我尝试了以下方法:

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