2012-07-16 75 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的解决方案,但你已经包含了该标签,所以看起来很合适。

相关问题