2011-09-30 111 views
0

我想實現這樣的事情,jQuery的動態填充一個選擇選項標籤

<select id="time" size="1" name="Time" disabled="disabled"> 
    <% foreach (string item in (List<string>)Model.OpenCloseTime[dynamicVariable].AppointmentTimes) 
     {%> 
      <option id="<%:item%>" value="<%:item%>"> 
      <%:item%></option> 
     <%} 
    %> 
</select> 

dynamicVariable= $('#date').datepicker("getDate");

打破了這種問題,GETDATE應該從獲取工作日的價值日曆,它需要幫助我根據從模型對象日值獲得的數據動態填充選擇下拉菜單。

我怎麼能做到這一點?

感謝您的幫助。

+0

你是說你希望jQuery解決方案提供的ASPX代碼? –

+0

是的,我需要通過jQuery動態實現這一點。 – OBL

回答

1

我不知道什麼dynamicVariable的樣子,但在這裏是你如何能填充#time用Javascript數組:

var times = ["Morning", "Afternoon", "Evening"]; 
for(i in times) { 
    $("#time").append(
     $("<option></option>").attr("value", times[i]).text(times[i]) 
    ); 
} 

編輯回答您的評論:

串連列表:

List<string> items = (List<string>)Model.OpenCloseTime[dynamicVariable].AppointmentTimes; 
string itemsStr = string.Join(",", items.toArray()); 

打印到您的javascript:

var items = "<%:itemStr%>"; 

爆炸串入一個Javascript數組:

var items_arr = items.split(","); 

使用什麼我上面張貼做出選擇框:

for(i in items_arr) { 
    $("#time").append(
     $("<option></option>").attr("value", items_arr[i]).text(items_arr[i]) 
    ); 
} 
+0

當然你可以用jQuery替換''''.each' – alecananian

+0

我的問題是dynamicVariable應該是一個int值,它將充當我的模型對象的索引值來檢索特定列表,然後將用它來填充選擇標籤。 – OBL

+0

您將不得不將您的列表連接成逗號分隔的字符串,然後使用更多的Javascript邏輯來解析它。 Javascript無法直接讀取您的ASPX代碼。 – alecananian

1

這裏是和例如填充使用jQuery選擇列表中:

function setCategory(categoryList) 
{ 
    var options = '<option value="Select by Category">Select by Category</option>'; 
    for (var i = 0; i < categoryList.length; i++) 
    { 
     options += '<option value="' + categoryList[i] + '">' + categoryList[i] + '</option>'; 
    }; 
    $("#categorySelect").html(options); 
}; 

注意,這也設置了默認值使用第一行的文本,這可能不是這裏的願望。

相關問題