我希望根据选择菜单和另一个timepicker文本值的值设置文本字段(timepicker)中的时间。jQuery基于下拉列表的值和文本值设置文本值(timepicker)
想法是,不同的约会类型有不同的约会长度,并根据约会类型和开始时间,我想设置约会结束时间。
<!-- Appt Type --->
<select id="ApptPurpose" name="ApptPurpose" class="form-control">
<option value="AHA">AHA</option> <!-- 60 minute appointment -->
<option value="FU">FU</option> <!-- 30 minute appointment -->
<option value="Screening">Screening</option> <!-- 30 minute appointment -->
</select>
<!-- Appt Start Time--->
<input type="text" name="ApptStartTime" id="ApptStartTime" class="Time form-control" />
<!-- Appt End Time--->
<input type="text" name="ApptEndTime" id="ApptEndTime" class="Time form-control" />
我知道如何在C#中做到这一点,但我希望能为此使用jQuery。我不知道如何处理这两个条件。我的jQuery技能不是很强大。这是我到目前为止。
$(function() {
var ApptPurpose = $('#ApptPurpose').val();
var ApptStartTime = $('#ApptStartTime');
var ApptEndTime = $('#ApptEndTime');
//when appt purpose changes
$("#ApptPurpose").change(function() {
// set end time
});
// or when start time changes
$("#ApptStartTime").change(function() {
// set end time
});
});
在此先感谢您的帮助!
这是我到目前为止尝试过的。我认为我没有正确计算时间。
$(function() {
var ApptPurpose = $('#ApptPurpose').val();
var ApptStartTime = $('#ApptStartTime');
var ApptEndTime = $('#ApptEndTime');
if (ApptPurpose == "FU") {
var ApptLength = 30;
}
else if (ApptPurpose == "Screening") {
var ApptLength = 30;
}
else {
var ApptLength = 60;
}
//when appt purpose changes
$("#ApptPurpose").change(function() {
// set end time
var StartTime = $('#ApptStartTime').val().split(/:/),
ApptLengthTime = ApptLength.split(/:/);
timeDiff(StartTime[0] * 3600 + StartTime[1] * 60, ApptLengthTime[0] * 3600 + ApptLengthTime[1] * 60, $('#ApptEndTime'));
});
// or when start time changes
$("#ApptStartTime").change(function() {
// set end time
});
});
到目前为止,你没有做任何事情。显示你实际尝试实现你想要的东西。我们不在这里为你做,但如果它不起作用,我们会帮你解决它。 – Barmar
第二个'.change()'函数不应该放在'#ApptStartTime'上吗? – Barmar
检查此http://jsfiddle.net/SantoshPandu/wg6z8g3L/。如果这是你想要的,我会发布它作为答案。 –