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 に答える