2011-12-20 14 views
4

JSONで次のクエリがあります:選択されたオプションがFirefoxで動作している間IEで動作していません。JSON:選択したオプションがFirefoxで動作している間IEで動作していません

私のような例のデータを持っている:

var columnDefs = [... 
{"name":"childPerformancePrice", "label":"Cosell Price", "type":"int", "control":"select", "options":performancePrices, "align":"left", "default":"", "required":false,"size": 6}, 
...] 

のようなパフォーマンスのドロップダウンリスト:JSON.stringify(columnDefs[index])よう

function getPerformancePrices(){ 
    ...... 
     $.getJSON("?data=performancePrices", function(list) { 
      performancePrices.push([0, ""]); 
      $.each(list, function(index, item) { 
      performancePrices.push([item.id, item.description]); 
      performancePrices.sort(); 

      }); 
     ... 
     }); 
    } 

例JSONデータ:

{"name":"childPerformancePrice", "label":"Cosell Price", "type":"int", "control":"select", "options":[[0,""],[15000,"Band 1"],[15001,"Band 2"],[15002,"Band 3"]],"align":"left", "default":"", "required":false,"size": 6} 

が質問:なぜ以下の選択オプションを編集中に動作していない(つまりIEで適切に選択していない)IEで動作しているFirefoxでもうまい?

function selectCell(oColumnDef, value) { 
    var oSelect = createNamedElement("select", oColumnDef["name"]); 
    if (value == undefined) { 
     value = ""; 
    } 
    $.each(oColumnDef["options"], function(index, item) { 
     var oOption = document.createElement("option"); 
     oOption.value = item[0]; 
     oOption.text = item[1]; 
     if (item[1] == value) { 
      oOption.selected = true; 
     } 
     oSelect.options.add(oOption); 
    }); 

答えて

1

私は考えることができる唯一のことは、それがFFで動作するので、ということですが、IEは、あなたは後者が好きではない、これらのオプションを作成している方法についての何かがありますありません。 jQueryのは、IEが持つ癖何でもオーバーアイロンをすることを前提に

var oOption = $("<option />", { "value": item[0], 
           "text": item[1], 
           "selected": item[1] === value 
           }); 
$(oSelect).append(oOption); 

:これに

var oOption = document.createElement("option"); 
oOption.value = item[0]; 
oOption.text = item[1]; 
if (item[1] == value) { 
    oOption.selected = true; 
} 
oSelect.options.add(oOption); 

:あなたはすでにjQueryのを使用しているので、これを変更してみてください。

+0

ちょうどFYI、質問者は編集でフォローアップの質問をしようとしました。 [ここ](http://stackoverflow.com/suggested-edits/163337)を参照してください。 –

関連する問題