0

現在、いくつかの問題が発生しています。基本的に、いくつかの populateModal() 関数を作成して、モーダル コンテナーにそれぞれの html を入力します。populateModal3 と populateModal4 で正常に動作します (同じ関数ですが、url 値が異なります)。

ajax は json でデータを返し、他の 2 つの populateModal 関数では完全に機能します。

ここに関数のスニペットがあります

$.ajax({
                url: "transaction/get_transaction",
                dataType: 'json'
            }).done(function(data){
                $('#transModalContainerDel, #transModalContainerEdit').empty();
                console.log(data);
                for (var i = 0; i < data.length; i++)
                {                   
                    console.log('id data: ' + data[i].id);
                    theDelTransModal += 'id modal: ' + data[i].id;
                    //theDelTransModal += '<div id="transModalDel' + data[i].id + '" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deleteTransaction" aria-hidden="true">';
                    //theDelTransModal += '<div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="myModalLabel">Delete transaction?</h3></div>';
                    //theDelTransModal += '<div class="modal-body"><p>Are you sure you want to delete this transaction? Note that you can\'t undo this action.</p></div>';
                    //theDelTransModal += '<div class="modal-footer"><a class="btn" data-dismiss="modal" aria-hidden="true">Cancel</a><a href="transaction/delete_transaction/' + data[i].id + '" class="btn btn-primary" id="delete-trans" data-dismiss="modal">Delete</a></div>';
                    //theDelTransModal += '</div>';
                    //$('#transModalContainerDel').append(theDelTransModal);
                    console.log(theDelTransModal);
                }       
            });

上記のコードからわかるように、返されるデータは正しい json 形式です。しかし、ログに記録しようとするIDはこの値を返します。

id data: 21 
id modal: 21 
id data: 22 
id modal: 21id modal: 22 

この関数は他の URL に対して完璧に機能するため、何が問題なのかわかりません。

前もって感謝します

4

2 に答える 2

0

それは単に文字列の結合のためです

theDelTransModal += 'id modal: ' + data[i].id;

に等しい:

theDelTransModal = theDelTransModal+ 'id modal: ' + data[i].id;

プラスを外せばOKです。

于 2013-01-01T05:38:03.557 に答える
0

ajax 成功メソッドを使用する

$.ajax({
                url: "transaction/get_transaction",
                dataType: 'json',
                success:function(data){

$('#transModalContainerDel, #transModalContainerEdit').empty();
                console.log(data);
                for (var i = 0; i < data.length; i++)
                {                   
                    console.log('id data: ' + data[i].id);
                    theDelTransModal += 'id modal: ' + data[i].id;
                    //theDelTransModal += '<div id="transModalDel' + data[i].id + '" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deleteTransaction" aria-hidden="true">';
                    //theDelTransModal += '<div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="myModalLabel">Delete transaction?</h3></div>';
                    //theDelTransModal += '<div class="modal-body"><p>Are you sure you want to delete this transaction? Note that you can\'t undo this action.</p></div>';
                    //theDelTransModal += '<div class="modal-footer"><a class="btn" data-dismiss="modal" aria-hidden="true">Cancel</a><a href="transaction/delete_transaction/' + data[i].id + '" class="btn btn-primary" id="delete-trans" data-dismiss="modal">Delete</a></div>';
                    //theDelTransModal += '</div>';
                    //$('#transModalContainerDel').append(theDelTransModal);
                    console.log(theDelTransModal);
                }       
}
            });
于 2013-01-01T05:38:43.533 に答える