2012-07-17 132 views
1

我有一个multipe select作为我的输入表单的一部分,我想通过jQuery AJAX提交它的选定值。

我试过使用下面的语法。

$('#multipleselect').val().join('|'); 

这有效,但我遇到的问题是用户不需要从多重选择中选择任何东西。如果他们没有,我会得到一个错误,因为你不能加入一个空对象。

有什么建议?

还请记住,还有其他值正在提交。例如:

data: "name=" + $("#name").val() + "&multipleselect=" + $("#multipleselect").val().join('|'); 
+0

只是检查是否为空,你加入它 – Musa 2012-07-17 02:59:17

+0

我可以做之前,在数据串?或者我必须将其分配给var? – 2012-07-17 03:00:25

回答

7

可以使用serialize方法:

编码的一组表格元素作为提交的字符串的。

var data = $('form').serialize() 
+0

这是我遇到的另一个问题。我是.load() - 将表单放入一个jQuery UI对话框中,并且在使用警报进行测试时,我似乎无法获得序列化表单。 – 2012-07-17 03:04:39

+0

@MikeGeorge注意你的表单元素必须有名称属性。 – undefined 2012-07-17 03:07:08

+0

哦,我认为它自己的形式只需要一个名字。我会去尝试这个,如果它有效,我会标记你的答案。谢谢! – 2012-07-17 03:08:25