2012-07-16 30 views
1

在我的應用程序UI中,我有以下字段:datepicker顯示日期,小時下拉列表,分鐘下拉列表以及am/pm下拉列表。預先選擇UI上的下拉列表

視圖模型返回一個日期時間值,根據我設置的下拉菜單:

function setSelectedIndex(s, valsearch) { 
     // Loop through all the items in drop down list 
     for (i = 0; i < s.options.length; i++) { 
      if (s.options[i].value == valsearch) { 
       // Item is found. Set its property and exit 
       s.options[i].selected = true; 
       break; 
      } 
     } 
     return; 
    } 

     setSelectedIndex($("#ScheduledHour"), '<%= Model.Scheduled.Value.Hour %>'); 
     setSelectedIndex($("#ScheduledMinute"), '<%= Model.Scheduled.Value.Minute %>'); 

,這裏是標記:

<select id="ScheduledHour" name="ScheduledHour" > 
         <option value="1">1 </option> 
         <option value="2">2 </option> 
         <option value="3">3 </option> 
         <option value="4">4 </option> 
         <option value="5">5 </option> 
         <option value="6" >6 </option> 
         <option value="7">7 </option> 
         <option value="8">8 </option> 
         <option value="9">9 </option> 
         <option value="10">10 </option> 
         <option value="11">11 </option> 
         <option value="12">12 </option>      
        </select></li> 

Model.Scheduled.Value.Hour和模型。 Scheduled.Value.Minute返回正確的值,但它們沒有在UI上設置。對我可能錯過的任何建議?

回答

2

嘗試這種情況:

$("#ScheduledHour").val("<%= Model.Scheduled.Value.Hour %>"); 
$("#ScheduledMinute ").val("<%= Model.Scheduled.Value.Minute %>"); 

的jQuery:

.VAL(值)

描述:設置在匹配的元素集合中的每個元素的值。

value: A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. 

.VAL()

說明:獲取集合中的匹配元素的第一元素的當前值。

+0

This Works。但是返回的小時值是24小時格式。我如何將其轉換爲12小時格式以在UI上顯示? – dotNetNewbie 2012-07-16 15:59:26

1

做:

$('#ScheduledHour option[value="<%= Model.Scheduled.Value.Hour %>"]').attr("selected", "selected"); 

$('#ScheduledMinute option[value="<%= Model.Scheduled.Value.Minute %>"]').attr("selected", "selected"); 

出了問題?我很感激這是一個基於jQuery的解決方案,但你已經包含了該標籤,所以看起來很合適。