0

私はこの構造を持っています:

<div id="fields" class="grid">
    <div>...<div>
    <div id="some_id_1" class="itemSortable">
        <input ...>
        <input ...>
        <div>
            <input id="selected" name="selected" type="checkbox" value="true">
            <input name="selected" type="hidden" value="false">
            ...
        </div>
    <div id="some_id_2" class="itemSortable">
        <input ...>
        <input ...>
        <div>
            <input id="selected" name="selected" type="checkbox" value="true">
            <input name="selected" type="hidden" value="false">
            ...
        </div>
     ...
    <div id="some_id_n" class="itemSortable">
        <input ...>
        <input ...>
        <div>
            <input id="selected" name="selected" type="checkbox" value="true">
            <input name="selected" type="hidden" value="false">
            ...
        </div>
</div>

私はjQueryの経験がないので、行き詰まっています。選択したチェックボックスのすべての ID (例: ) の配列を取得する jQuery スクリプトを手伝ってくれる人はいsome_id_xますか?

4

5 に答える 5

2

id選択したチェックボックスの最も近い親の の配列を取得するには、.itemSortableこれを試してください。

var idArray = $('#fields').find(':checked').map(function() {
    return $(this).closest('.itemSortable').prop('id');
}).get();

重複したid属性がたくさんあるようですが、これは HTML が無効であり、コードで問題が発生することを意味します。

于 2012-12-18T13:56:09.417 に答える
1

まず、チェックボックス自体を取得します。

$(':input:checked');

次に、それぞれの親を見つけます。

$(':input:checked').parents('.itemSortable');

各IDを取得するには、を使用.each()して結果のリストを反復処理します。

var ids = [];
$(':input:checked').parents('.itemSortable').each(function() {
    ids.push(this.id);
});
于 2012-12-18T14:00:07.220 に答える
0

タイプ check (チェックボックス) のチェックされた入力を取得するには、":checked"セレクターを使用します。この例は私のポイントを説明することができます:

HTML:

<div id="fields" class="grid">
        <div id="some_id_1" class="itemSortable">
            <div>
                <input id="selected" name="selected" type="checkbox" value="true" checked="checked"/>
            </div>
        </div>
        <div id="some_id_2" class="itemSortable">
            <div>
                <input id="selected" name="selected" type="checkbox" value="true" checked="checked"/>
            </div>
         </div>
        <div id="some_id_n" class="itemSortable">
            <div>
                <input id="selected" name="selected" type="checkbox" value="true"/>
            </div>
        </div>
    </div>

JavaScript/JQuery:

$(document).ready(function () {
            alert($("#fields :checked").length);
        });

この例では 2 番目のアラートが表示されます。id の要素でチェックされたチェックボックスの数"fields"

PS:

  • これがあなたが要求したものであることを願っています。
  • タイプチェックボックスの入力を行うには、属性を使用しますchecked="checked"
于 2012-12-18T14:19:18.277 に答える
0

使用:チェックされたセレクター

http://api.jquery.com/selected-selector/の詳細

例:

$(function()
{
    var idArray = new Array(); $('#fields').find(':checked').each(function() 
   {
       idArray.push(this.id);
   });

   console.log(idArray);
});
于 2012-12-18T13:56:23.713 に答える
0

css id は、ページ上の 1 つの要素にのみ存在することを意図しており、クラスを使用します。

$('.someClass:checked').serialize()

于 2012-12-18T13:55:20.587 に答える