1

私のアプリケーションUIには、次のフィールドがあります。日付を表示するdatepicker、時間のドロップダウン、分のドロップダウン、および午前/午後のドロップダウン。

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)

説明:一致した要素のセット内の各要素の値を設定します。

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 に答える