0

IEで非常に奇妙なバグが発生しました。以下のコードを使用して、データベースからデータを取得し、そのデータでドロップダウン オプションを作成する ajax リクエストを作成しまし<option>た。IE ではデータが正しく表示されず、データの最初の文字しか表示されませんが、他のブラウザではデータが正しく表示されます。データも印刷してみましたが、データは正しいです。したがって、Jqueryの選択または追加のいずれかが間違っていると思われ、いくつかのジャンクデータを使用してajax呼び出しの外側に追加しようとしましたが、データは正しく表示されていますが、そのコードをajax内に配置すると、再び表示されません...私は本当に今手がかり..これで私を助けてくれますか?FF、Chrome、サファリでテストしましたが、すべて正常に動作しています...

$.ajax({

    cache: false,
    type: "POST",
    url: "<?php echo $this->baseUrl(); ?>/rewards/getdiscounttype/",
    data: { esid: estore_id }

}).done(function( data ) {

    var obj = jQuery.parseJSON(data);
    jQuery.each(obj, function (i, app) {

        //alert(i+app['discount_type']);
        var sel = $('select[name=discount_type'+id+']');
        sel.append('<option value="'+app['id']+'">'+app['discount_type']+'</option>');

    });

});
4

2 に答える 2

2
$.ajax({

    cache: false,
    type: "POST",
    url: "<?php echo $this->baseUrl(); ?>/rewards/getdiscounttype/",
    data: { esid: estore_id },
    datatype: "json",
    succes: function(jsonData){
        $.each(jsonData,function(i,app){
            var sel = $('select[name=discount_type'+i+']');
            sel.append('<option value="'+app.id.+'">'+app.discount_type.+'</option>');
        });
    },
    error: function(e){

    }

})

JSON を app['id'] ではなく app.id のようなオブジェクトとして扱う方がよいと思います。いくつかのテストを行う時間があまりありませんでした。受け取った json を教えていただければ、テストできます。

于 2012-07-20T08:43:52.237 に答える
0

JavaScript を使って今すぐ作業しましょう!

$.ajax({

cache: false,
type: "POST",
url: "<?php echo $this->baseUrl(); ?>/rewards/getdiscounttype/",
data: { esid: estore_id } 

}).done(function( data ) {
    var obj = jQuery.parseJSON(data);

    /* clearing options with JS since jQuery cleare the select in the DOM but enter code   herenot on screen. */
    $('select[name=discount_type'+id+']')[0].options.length = 0;
    $('select[name=discount_type'+id+']').children().remove().end().append('');

    jQuery.each(obj, function (i, app) {
       var sel = $('select[name=discount_type'+id+']');
       sel.append('<option value="'+app.id+'">'+app.discount_type+'</option>');
    });
});
于 2012-07-23T06:25:34.587 に答える