0

以下のコードで「map」と「for」はどのように正しく行われますか? 最初にすべての一意のIDを取得してから、変数をいくつかの「それぞれ」に組み合わせて、後でajaxで使用しようとしています。

Jクエリ:

$(document).ready(function() {
    $('a#export').on('click',function(){
        var contentMap = {};
        $('[id^="textHolder"],[id^="imgHolder"]').each(function(){
            contentMap[this.id] = $(this).html();
        });
        $('[id^="youtubeHolder"]').each(function(){
            var YoutubeSrc = $('iframe',this).attr('src');
            var YoutubeHolderID = $(this).attr('id');
        });
        for(id in contentMap) {

            $.ajax({
                url: "post.php",
                type: "post",
                data: { 
                    ExportDivID: id,
                    ExportDivContent: contentMap[id],
                    ExportYoutubeSrc: YoutubeSrc,
                    ExportYoutubeHolderID: YoutubeHolderID
                },
                success: function(){
                   alert("success");
                },
                error: function(){
                    alert("failure");
                }   
          }); 
      }

    });
});

助けてくれてありがとう!

4

1 に答える 1

0

for ループの説明:
JavaScript で配列をループする

マップの説明:
JavaScript でハッシュまたは辞書オブジェクトを作成する方法

変化する

for(id in contentMap) { .... }

for (var i=0; i<contentMap.length; i++){

    if (contentMap[i] == this.id){

            $.ajax({
                url: "post.php",
                type: "post",
                data: { 
                    ExportDivID: this.id,
                    ExportDivContent: contentMap[this.id],
                    ExportYoutubeSrc: YoutubeSrc,
                    ExportYoutubeHolderID: YoutubeHolderID
                },
                success: function(){
                   alert("success");
                },
                error: function(){
                    alert("failure");
                }   
          }); 
    }
}
于 2013-05-12T04:02:45.267 に答える