Jquery 获取多个 select 的值无效

Jquery getting values of multiple select not working

我有一个简单的倍数 select,我试图通过 ajax 发送它的 selected 值。 我可以使用警报,它向我显示 selected 的值,但它在 ajax 中显示为空白。 为了对此进行测试,我尝试进行替换,但这也不起作用。所以有问题,我想不通!

<select id="multiple" multiple="multiple">
<option value="Text 1">Text 1</option>
<option value="Text 2">Text 2</option>
<option value="Text 3">Text 3</option>
</select>

如果我选择选项 2 和 3,警报将显示我的 selection,如下所示:

var test = $("#multiple").val(); 警报(测试);将return:文本2,文本3

如果我使用替换它不起作用,IE:

测试 = test.replace(",", ", ");

我想,这可能是一个数组,并尝试将其转换为字符串,但仍然没有成功!

这里test是一个数组所以没有array方法调用replace

相反,您可以使用 .join() 方法,例如

test = test.join(", ");

演示:Fiddle

.val()

In the case of select elements, it returns null when no option is selected and an array containing the value of each selected option when there is at least one and it is possible to select more because the multiple attribute is present.

当你调用alert() and pass an array as you have done, the array will be converted to a string by calling the Array.toString()方法时,它会显示数组的每个成员,用逗号分隔(,)