-1

这是我的html:

<select id="list" name="list" size=10 multiple>
  <option value="xx">opt-1</option>
  <option value="yy">opt-2</option>
  <option value="zz">opt-3</option>
</select>

我得到这个的价值:

var list_v = $("#list").val();

使用 .post 调用提交如下:

'&mylist='+list_v

在我收集的cgi中是这样的(perl):

@list_values = $q->param('mylist');

我将所有选定的选项作为 @list_values 数组中的一个元素。我认为我应该将所有值作为数组的单独元素获取!!!

因此,例如,如果有人选择 opt-1 和 opt-2 我希望在 @list_values [xx yy] (两个值作为两个元素)

但是,我得到的是 [xx,yy ] (两个值作为一个元素)

4

1 回答 1

3

如果我理解正确,您应该使用.serialize方法。list[]=xx&list[]=yy如果选择了两个选项,它会给你。然后您不再需要手动构建数据参数字符串:

$.ajax({
    url: '/post-collector',
    method: 'POST',
    data: $('#your-form').serialize()
});

你可以在这里看到不同之处:http: //jsfiddle.net/QeqvF/

于 2013-01-20T21:17:36.717 回答