Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Javascript 此.value返回值用括号括起来_Javascript_Jquery - Fatal编程技术网

Javascript 此.value返回值用括号括起来

Javascript 此.value返回值用括号括起来,javascript,jquery,Javascript,Jquery,也许这是个愚蠢的问题,但我不是jQuery专家,所以我需要一些解释。我想在我的选择中获取所选选项的值。所以我写了这段代码: var actual_option = $(this).find('option:selected', this).map(function () { return this.value; }).get(); 当用户单击“我的选择”时,此变量将通过选项值进行定值,问题在于最终结果如下: [“2”] 而不是这个 二, 如何避免括号 var actual_option

也许这是个愚蠢的问题,但我不是jQuery专家,所以我需要一些解释。我想在我的选择中获取所选选项的值。所以我写了这段代码:

var actual_option = $(this).find('option:selected', this).map(function ()
{
    return this.value;
}).get();
当用户单击“我的选择”时,此变量将通过选项值进行定值,问题在于最终结果如下:

[“2”]

而不是这个

二,

如何避免括号

var actual_option = $(this).find('option:selected', this).map(function ()
{
    return this.value;
}).get(0);
试试这个


试试这个

在数组中返回值的原因是因为您使用的是
map()
——在本例中您实际上不需要它

假设
引用select元素本身
$(this).val()
将起作用:

var actual_option = $(this).val();

在数组中返回该值的原因是因为您使用的是
map()
——在本例中实际上不需要它

假设
引用select元素本身
$(this).val()
将起作用:

var actual_option = $(this).val();
将整个集合转换为本机数组。您可以使用
.get(0)
指定索引:

但这太过分了,因为您可以简单地调用以返回所选元素集合中第一个元素的值

var actual_option = $(this).val();

还值得指出的是,它只接受一个参数,因此
.find('option:selected',this)
应该是
.find('option:selected')

看起来您试图使用选择器速记
$('option:selected',this)
,它相当于
$(this)。find('option:selected')
将整个集合转换为本机数组。您可以使用
.get(0)
指定索引:

但这太过分了,因为您可以简单地调用以返回所选元素集合中第一个元素的值

var actual_option = $(this).val();

还值得指出的是,它只接受一个参数,因此
.find('option:selected',this)
应该是
.find('option:selected')

看起来您正在尝试使用选择器速记
$('option:selected',this)
,它相当于
$(this)。查找('option:selected')

无需在此处使用
.map()
.get()
。返回的值带有括号,因为
.get()
返回一个数组

考虑到
$(此)
表示
-标记,您只需执行以下操作:

var actual_option = $(this).val();
这里不需要
.map()
.get()
。返回的值带有括号,因为
.get()
返回一个数组

考虑到
$(此)
表示
-标记,您只需执行以下操作:

var actual_option = $(this).val();

get()
返回一个数组!如果只想获取一个值,为什么要使用map()?
get()
返回一个数组!如果只想获取一个值,为什么要使用map()?这很好,获取中的0意味着什么?谢谢:)应该是
…})。get()[0]
要返回数组的第一个索引,即
2
This working fine,get中的0表示什么?谢谢:)应该是
…})。get()[0]
返回数组的第一个索引,即
2