4

我有以下表单输入元素,每个元素都具有相同的“评级”名称,如下所示。

<input type="checkbox" checked="checked" value="5" id="rating5_2053" name="rating">
<input type="checkbox" checked="checked" value="4" id="rating4_2053" name="rating">
<input type="checkbox" checked="checked" value="3" id="rating3_2053" name="rating">

<input type="checkbox" checked="checked" value="2" id="rating2_2053" name="rating">
<input type="checkbox" checked="checked" value="1" id="rating1_2053" name="rating">
<input type="checkbox" checked="checked" value="0" id="rating0_2053" name="rating">

使用时

$form.serialize();

并提交表格,

编辑:使用 JQuery Serialize() 结果并为 GET 请求操作查询字符串,结果如下:

&rating=5&rating=4&rating=3&rating=2&rating=1&rating=0

它有充分的理由这样做,但就我而言,我不需要这样做。

我想知道是否有一种方法可以将其配置为执行以下操作?

&rating=5,4,3,2,1,0

谢谢

4

2 回答 2

6

干得好

var ratingData = [],
    data = $('form').find('input:not([name="rating"])').serialize();
$('form').find('input[name="rating"]').each(function(){
    ratingData.push(this.value);
});
data += '&rating='+ratingData.join(',');
console.log(data);

http://jsfiddle.net/Ejf45/1/

于 2012-05-31T17:19:29.893 回答
2

你可以试试这样的:)

var ratings="rating=";

$('input[name="rating"]:checked').each(function(){ 

    var temp = $(this).val();

    ratings = ratings+ temp +",";

});

alert(ratings);​

Jsfiddle 链接

于 2012-05-31T17:33:08.223 回答