1

在我的应用程序 UI 中,我有以下字段:显示日期的日期选择器、小时下拉列表、分钟下拉列表和上午/下午下拉列表。

ViewModel 正在返回一个日期时间值,我根据该值设置下拉列表:

 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 和 Model.Scheduled.Value.Minute 返回正确的值,但未在 UI 上设置它们。关于我可能遗漏的任何建议?

4

2 回答 2

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()

描述:获取匹配元素集中第一个元素的当前值。

于 2012-07-16T15:09:01.333 回答
1

是在做:

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

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

不在话下??我很欣赏这是一个基于 jquery 的解决方案,但你已经包含了该标签,所以看起来很合适。

于 2012-07-16T15:00:32.730 回答