这里是我的html:为什么多选值显示为csv而不是数组?
<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();
提交使用。员额为拨打:
'&mylist='+list_v
在CGI
我收集像这样(perl):
@list_values = $q->param('mylist');
我将@list_values数组中的所有选定选项作为一个元素。我以为我应该获得所有的值作为数组的单独元素!
因此,例如,如果有人选择选择-1和选择2 I预计@list_values [XX YY](两个值作为两个元件)
BUT,我不但得不到[XX,YY] (两个值作为一个元素)
formencoding不提交的方式,将是这样的:'名单= XX&名单= YY&名单= zz'。可以使用jQuery'serialize()' – charlietfl
''&mylist ='+ list_v'做一个字符串连接,所以JS在'list_v'数组上做'toString()',它给出一个逗号分隔的列表(并且你已经指定了实际的参数名称mylist在开始时只有一次)。 – nnnnnn
nnnnnn你是对的。我没有使用表单提交数据只是一个$ .post ajax调用,所以我试图构建数据字符串使用&我应该怎么做?页面上有其他元素(广播,输入,很多选择等)我应该如何获得格式正确的数据字符串提交使用$ .post调用? – rajeev