0

各機能に問題があります...例で説明しようとします...

私のコードには、実行時に「ライブ」で変更されるコンテンツを含む、ID「media-type-container-1」の DIV があります。

<div id="media-type-container-1">
    <div><input type="checkbox">Media 11<span id="media-stations-id-11" class="media-stations-id">11</span></div>
    <div><input type="checkbox">Media 12<span id="media-stations-id-12" class="media-stations-id">12</span></div>
</div>

変更する場合は、次のように変更できます。

<div id="media-type-container-1">
    <div><input type="checkbox">Media 13<span id="media-stations-id-13" class="media-stations-id">13</span></div>
    <div><input type="checkbox">Media 14<span id="media-stations-id-14" class="media-stations-id">14</span></div>
</div>

すべての「media-stations-id」のリストを取得するには、次のコードを使用します。

$("#add-to-filter-stations").live("click", function() {

    var selectedMediaStations = new Array();
    selectedMediaStations.length = 0;

    $('#media-type-container-1').each(function(){
        $('.media-stations-id').each(function(){
            selectedMediaStations.push($(this).attr('id').replace("media-stations-id-", ""));
        })
    });
}

上記の例では、配列 selectedMediaStations は、要素 13 と 14 だけではなく、要素 11、12、13、および 14 を取得します。

私が間違っているので、ライブ関数で毎回空の配列で「開始」することはできませんか?

4

1 に答える 1

3

次のようなことを試してみませんか

var selectedMediaStations = $('.media-stations-id').map(function(){
    return $(this).attr('id').replace('media-stations-id-','');
});

// [13, 14]
于 2012-06-26T21:39:17.240 に答える