4

これはばかげた質問かもしれませんが、私はそれを手に入れたり、どこにも見つけられないようです。

ページ上の多数の div の ID を返し、それらに番号を割り当てる .each 関数があります。それらをデータベースに渡して「sort_order」値として使用できるように、特定の形式ですべて 1 つの文字列として出力する必要があります。(データベース内の sproc を介してそれらを分割します)。

これが私のコードです:

jQuery('#updateAllContentButton').click(function() {
    var count = 1;
 jQuery('.CommentaryItem').each(function() {
    var id = GetID(jQuery(this));
        var data_str = (id + ':' + count + '~');
        console.log(data_str);
        count++;
    });
});

したがって、各 data_str は別の行に返されますが、次のように返す必要があります: 144:2~145:3~146:4~147:4~148:5 (など)

どんな助けでも大歓迎です、ありがとう!

4

4 に答える 4

11

マップを使用して結合:

jQuery('#updateAllContentButton').click(function() {
    console.log(jQuery('.CommentaryItem').map(function(i) {
        return GetID(jQuery(this)) + ':' + (i+1);
    }).get().join('~'));
});

自分自身を数える必要はないことに注意してください。ほとんどの jQuery 反復関数がそれを行います。

于 2013-07-09T13:47:55.907 に答える
0

変化する

var data_str = (id + ':' + count + '~');

data_str+ = (id + ':' + count + '~');

完全なコード

jQuery('#updateAllContentButton').click(function() {
    var count = 1,
        data_str;

    jQuery('.CommentaryItem').each(function() {
        var id = GetID(jQuery(this));
        data_str += (id + ':' + count + '~');
        console.log(data_str);
        count++;
    });
});
于 2013-07-09T13:49:48.853 に答える
0

そのために配列を使用できます。このような...

jQuery('#updateAllContentButton').click(function() {
    var count = 1;
    var arr = [];
 jQuery('.CommentaryItem').each(function() {
    var id = GetID(jQuery(this));
    var data_str = (id + ':' + count + '~');
    arr.push(data_str);
    //console.log(data_str);
    count++;
 });
 console.log(arr.join());
});
于 2013-07-09T13:47:49.337 に答える
0

これを試して:

jQuery('#updateAllContentButton').click(function() {
var count = 1;
var data_str = "";
jQuery('.CommentaryItem').each(function() {
var id = GetID(jQuery(this));
    data_str += (id + ':' + count + '~');
    console.log(data_str);
    count++;
});

});

于 2013-07-09T13:48:12.940 に答える