4

変数にチェックボックスがあるすべての行のIDを取得しました。

var allIds = jQuery("#progAccessSearchResults").jqGrid("getDataIDs");

ここで、これを反復処理して、チェックされたチェック ボックスのみの ID を取得する必要があります。チェックされたチェックボックスIDを取得するために次のコードを試しました。

var boxes = $(":checkbox:checked");

しかし、それは機能していません。手伝ってください..!!私はjavascript n jqueryが初めてです。それがばかげた問題であるかどうか気にしないでください.. !!

4

4 に答える 4

15

.mapを使用して、既存のセレクターを使用して、チェックされたチェックボックスのすべての ID を見つけることができます。

HTML:

<input type="checkbox" id="cb1" />
<input type="checkbox" id="cb2" />
<input type="checkbox" id="cb3" checked="checked" />
<input type="checkbox" id="cb4" />
<input type="checkbox" id="cb5" checked="checked" />

Javascript:

var checkedIds = $(":checkbox:checked").map(function() {
        return this.id;
    }).get();

戻り値:[ "cb3", "cb5" ]

上記のコードのフィドルは次のとおりです

于 2013-09-23T09:03:43.887 に答える
4

eachのループで試してくださいjquery

$("input:checkbox").each(function(){
    var $this = $(this);    
    if($this.is(":checked")){
        console.log($this.attr("id"));
    }
});
于 2013-09-23T09:03:51.640 に答える
1

first :nth-childセレクターを使用<td>して、グリッドにチェックボックスを持つ要素を取得できます。次に、セレクターを使用>input:checkedして、チェックされたすべてのチェックボックスを取得できます。要求されたチェックボックスを含む jQuery オブジェクトを.closest("tr.jqgrow")取得したら、チェックボックスを持つ行を取得するために使用できます。行のIDが必要です。$.map配列内のすべての ID を取得するために使用できます。完全なコードは

$("#getIds").button().click(function () {
    var $checked = $grid.find(">tbody>tr.jqgrow>td:nth-child(" +
                   (iCol + 1) + ")>input:checked"),
        ids = $.map($checked.closest("tr.jqgrow"),
                    function (item) { return item.id; });
    alert("The list of rowids of the rows with checked chechboxs:\n" + ids.join());
});

関数iColを使用して取得できるチェックボックス付きの列のインデックスgetColumnIndexByName

var getColumnIndexByName = function (grid, columnName) {
    var cm = grid.jqGrid("getGridParam", 'colModel'), i, l;
    for (i = 0, l = cm.length; i < l; i += 1) {
        if (cm[i].name === columnName) {
            return i; // return the index
        }
    }
    return -1;
};

古い回答でよく使用していました。

デモでは、上記のコードをライブで示します。

于 2013-09-23T10:18:38.647 に答える
1

このコードを試してください

var selected = new Array();
$('input:checked').each(function() {
    selected.push($(this).attr('id'));
});

そして、すべてのチェックされたチェックボックスIDをselected配列で取得します。ここにjsfiddleがあります

于 2013-09-23T09:06:22.057 に答える