2012-07-20 154 views
0

我在IE上遇到了非常奇怪的錯誤。我使用下面的代碼發出ajax請求,從數據庫獲取數據,並使用該數據創建下拉選項<option>。事情是在IE瀏覽器的數據沒有正確顯示,它只顯示數據的第一個字符,但在其他瀏覽器的數據顯示正確。我也嘗試打印出數據,數據是正確的。 所以我懷疑我的JQuery選擇或追加是錯誤的,並嘗試追加ajax調用與一些垃圾數據和數據顯示正確,但然後再次我把該代碼放入ajax內,並不再顯示...我真的出的線索現在..你可以幫助我這個傢伙嗎?我曾與FF,Chrome和Safari瀏覽器測試,他們都運作良好...Jquery Ajax無法在IE上工作

$.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>'); 

    }); 

}); 
+0

你能發表一個你的json的例子嗎?以及var sel = $('select [name = discount_type'+ id +']')中的'id'變量是什麼?' – mabbas 2012-07-20 09:54:28

+0

umm id用於在表單字段中定位每個下拉列表。它實際上是作爲頂級函數的參數傳入的。這裏是我的json [{「id」:19,「discount_type」:「20%」},{「id」:51,「discount_type」:「test」}] – zaw 2012-07-23 02:35:27

回答

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>'); 
    }); 
}); 
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對象['身份證「]。沒有太多時間做一些測試,我會給你我收到的JSON,我可以測試。

+0

我剛剛嘗試過,但仍然在IE 。 – zaw 2012-07-20 08:57:16