2011-08-05 105 views
0

選擇列表中我有這麼遠我的編碼:創建具有腳本

success: function(data) { 
    $.each(data, function(item){ 
     if (item=="") { 
     $(select_element).append($(document.createElement("option")).attr("value", (item)).html(data[item])); 
     } else { 
     $(select_element).append($(document.createElement("option")).attr("value",(item)).html(data[item]+" ")); 
     } 

「項目」是有兩個屬性,描述和id的對象。創建的選擇列表的工作基本上只是找到,但它現在返回整個對象。我可以修改createElement函數,使id可以返回itemValue和description itemLabel嗎?我是新手。

回答

0

按照item對象給出的描述,這將是一個更好的辦法:

$.each(data, function(idx,item) { 
    if (!item.id) { 
     $(select_element).append($("<option>").attr("value",item.id).html(item.description)); 
    } else { 
     $(select_element).append($("<option>").attr("value",item.id).html(item.description+" ")); 
    } 
}); 
0

當我明白你的問題,data看起來是這樣的:

[ 
    {id: 0, description: "label for id 0"}, 
    {id: 1, description: "label for id 1"}, 
    {id: 2, description: "label for id 2"}, 
] 

然後以下行應該做你想要什麼:

$.each(data, function(item){ 
    if(item.description == "") { 
    $(select_element).append($('<option value="' + item.id + '">' + item.description + '</option>'); 
    } 
    else { 
    $(select_element).append($('<option value="' + item.id + '">' + item.description + '</option>'); 
    } 
} 
0

我想你可以嘗試以下行

東西
success: function(data) { 
    $.each(data, function(item){ 
     if (item=="") { 
     $(select_element).append("<option value='-1'>Empty</option>"); 
     } else { 
     $(select_element).append("<option value='" + item.id + "'>" + item.description +"</option>"); 
     } 

我不確定你在找什麼功能項= 「」

0

請嘗試:

success: function(data) { 
     $.each(data, function(item){ 
      if (item=="") { 
       $(select_element).append('<option value="">--select--</option>'); 
      } else { 
       $(select_element).append('<option value="' + item.id +'">' + item.description + '</option>'); 
      } 
     } 
    }