2

私はこのコードを持っています

  var selected = new Array();
        $(".client_associates_users input:checked").each(function(index) {
            selected.push($(this).val());
        });

それはうまく機能しますが、jQueryに収集があるかどうか疑問に思っていたので、配列を作成してプッシュする必要はありません。

基本的に、チェックされた入力フィールドのすべての値が必要です

4

3 に答える 3

6

はい、$.fn.map http://api.jquery.com/map/または$.map http://api.jquery.com/jQuery.map/

var $checkboxes = $(".client_associates_users input:checked"),
    selected = $checkboxes.map(function(i){
        return $checkboxes.eq(i).val();
    }).get();

またはこれ$.map(私はこれが好きです)

var $checkboxes = $(".client_associates_users input:checked"),
    selected = $.map($checkboxes, function(el,i){
        return $checkboxes.eq(i).val();
    });

更新
各反復で jQuery オブジェクトを再作成しなくなりました。

于 2012-04-20T18:34:16.200 に答える
6

jQueryは.map()メソッドを提供し、

var selected = $(".client_associates_users input:checked").map(function(index) {
    return this.value;
}).get();

このメソッドは、コールバック内のデータから新しい配列を作成しreturnます。.get()実際の配列を取得するには、最後に呼び出す必要があることに注意してください。

参考:.map()

于 2012-04-20T18:34:59.263 に答える
0

jQuery オブジェクトは配列であるため、そのセレクターの末尾に$(".client_associates_users input:checked")a を追加すれば、これらの値にアクセスできるはずです。.val()

于 2012-04-20T18:35:18.997 に答える