0

配列を分割して1つの文字列として投稿できるように、複数選択チェックボックスの値をループしようとしています。PHPでは、次のように言うことができます:

implode(",", $_POST['usage'])

コンマ区切りの文字列を取得します。以下のソースにjavascriptまたはjqueryを使用して同じものを取得するにはどうすればよいですか。

<input type="checkbox" name="usage[]" id="usage-ContentManagement" value="Content Management">
<input type="checkbox" name="usage[]" id="usage-Personal" value="Personal">
<input type="checkbox" name="usage[]" id="usage-Business" value="Business">
<input type="checkbox" name="usage[]" id="usage-SmallBusiness" value="Small Business">

試してみ$('[name="usage[]"]').val()ましたが、チェックボックスが選択されていなくても、常に「コンテンツ管理」が表示されます。

4

2 に答える 2

2

チェックボックスを反復処理し、それらの値を配列に保存します。次に、この配列を「内破」します。

var arr = [];
$('[name="usage[]"]:checked').each(function(){
    arr.push(this.value);
});
alert(arr.join(','));
于 2013-01-09T12:59:08.440 に答える
2

試してみてください$.serializeArray()

var values = $('[name="usage[]"]').serializeArray().map(function(kvp) {
    // kvp has the form {name:..., value:...}
    return kvp.value;
}).join(',');

利点は、これを任意のフォーム要素に使用できることです: チェックボックス、ラジオボックス、選択、テキスト入力...$.serializeArray適切な値が確実に取得されるようにします。

于 2013-01-09T13:05:33.577 に答える