我在wep页面中使用select2下拉列表,我想使用ajax参数将选定的值发送到servlet,我在Ajax下面尝试过,但它对我不起作用。
我的HTML Select
代码
<select class="form-control select2" id="color" name="color" multiple="multiple" data-placeholder="Select Colors">
<option>Red</option>
<option>Blue</option>
<option>Green</option>
<option>Gray</option>
</select>
我的Ajax
代码:
$.ajax({
type: 'POST',
url: 'MyServerUrl',
data: {
color: $("#color").select2('data')
},
success: function (data, textStatus, jqXHR){
},
error: function (data, textStatus, jqXHR) {
}
});
有没有办法将Direct对象发送到Ajax参数?
答案 0 :(得分:0)
$("#color").val();
将为您提供包含所选值的数组。例如:
["red", "blue", "gray"]
但是仍然必须为您的选项定义值,因为它们现在没有价值。
<select class="form-control select2" id="color" name="color" multiple="multiple" data-placeholder="Select Colors">
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="gray">Gray</option>
</select>
使用相同的val
方法,您还可以以编程方式设置值:
$("#color").val(["blue", "red"]).trigger("change");
答案 1 :(得分:0)
只需使用val()并在帖子变量名称后面添加括号
$.ajax({
type: 'POST',
url: 'MyServerUrl',
data: {
'color[]': $('select.select2').val()
},
success: function (data, textStatus, jqXHR){
},
error: function (data, textStatus, jqXHR) {
}
});
它应该做魔法:)