gpt4 book ai didi

jquery - 使用 JQuery SerializeArray 时合并相同命名的字段

转载 作者:行者123 更新时间:2023-12-01 01:27:00 24 4
gpt4 key购买 nike

您好,我有以下示例表单

<form id="search" method="GET" action="/results">
<input type="text" name="name">
<input type="checkbox" name="rating" value="1">
<input type="checkbox" name="rating" value="2">
<input type="checkbox" name="rating" value="3">
<input type="checkbox" name="rating" value="4">
<input type="checkbox" name="rating" value="5">
<input type="submit" value="Submit" name="submit">
</form>

当我在选择一些评级复选框后提交表单并使用 JQuery serialize() 时,如下所示

$('#search').submit(function() {
var $form = $(this);
var strFormData = $form.serialize();
//var objFormData = $form.serializeArray();
//var strFormDataParamResult = $.param(objFormData);
});

我得到一个这样的 strFormData 示例

"name=help&rating=1&rating=2&rating=3"

有没有办法将任何同名的参数组合到这个结果中

"name=help&rating=1,2,3" 

通过操作serializeArray()的结果然后使用$.param(..)?

如果是的话,有人有这方面的例子吗?

感谢您的帮助。

最佳答案

如果您使用 Johannes 建议的帖子,那么您应该将复选框中的名称属性更改为“评级[]”。

否则,如果您确实需要使用 GET 来完成此操作,您可以尝试以下操作:

$('#search').submit(function() {
var serialized = $(this).serialize(),
ratings = '';

$('#search input[type=checkbox]:checked').map(function(i, n) {
ratings += (i ? ',' : '') + n.value;
});

serialized += '&rating='+ratings;

...

});

关于jquery - 使用 JQuery SerializeArray 时合并相同命名的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10912491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com