我有这个html标记:
<div class="table">
<div class="col1 right">Start:
</div>
<div class="col2outer center">
<div class="col2mid">
<asp:DropDownList ID="ddlStartHour" runat="server" onchange="Calculate();">
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col2side">
<asp:DropDownList ID="ddlStartMinute" runat="server" onchange="calculateTime()">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="30">30</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<div class="table">
<div class="col1 right">Finish:
</div>
<div class="col2outer center">
<div class="col2mid">
<asp:DropDownList ID="ddlFinishHour" runat="server" onchange="Calculate();">
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem></asp:DropDownList>
</div>
<div class="col2side">
<asp:DropDownList ID="ddlFinishMinute" runat="server" >
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="30">30</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<div class="margin1">
<h4>total</h4>
<h3><asp:Label ID="Label1" runat="server">0</asp:Literal></h3>
<h4>hrs</h4>
</div>
我想在用户选择更改时在客户端进行计算。我已经看到许多帖子试图使用普通的html元素来做到这一点。但在我的情况下,我需要使用asp.net控件。我尝试使用这个javascript(http://jsfiddle.net/VnwF7/4/)代码,但它不适用于asp.net控件。
function Calculate() {
//get values
var valuestart = $("#<%= ddlStartH.ClientID %>").val();
var valuestop = $("#<%= ddlFinishH.ClientID %>").val();
//create date format
var timeStart = new Date("01/01/2007 " + valuestart).getHours();
var timeEnd = new Date("01/01/2007 " + valuestop).getHours();
var hourDiff = timeEnd - timeStart - 0.5;
$('#<%= lblDuration.ClientID %>').val(hourDiff);
}
感谢您的帮助。
答案 0 :(得分:1)
尝试以下方法:
var timeStart = new Date("01/01/2007 " + valuestart + ":00:00").getHours();
var timeEnd = new Date("01/01/2007 " + valuestop + ":00:00").getHours();
而不是:
var timeStart = new Date("01/01/2007 " + valuestart).getHours();
var timeEnd = new Date("01/01/2007 " + valuestop).getHours();