0

我有一个任务管理器应用程序。为此,我想创建一个任务。这些任务可能取决于其他任务(多个)。所以我做了下拉列表来列出所有以前的任务。问题是我想比较多个选定任务的结束日期,较高的日期应该是新任务的开始日期。我已经做了一些事情来获取值并将其打印在文本框中。我不知道如何比较日期值并将其打印到文本框。我是 javascript 的初学者。谁能帮我?我在下面发布了代码。

HTML

<html>
<body>
<select multiple name="pre_task" id="pre_task" onChange="change()">
<?php

while($t_res=mysql_fetch_array($t_que))
{
   echo "<option value='$t_res[t_id]'>$t_res[t_name]</option>";
}
?>
</select>
<?php
$t_que1=mysql_query("select * from task where p_id=$_SESSION[p_id]");
while($t_res1=mysql_fetch_array($t_que1))
{
  echo "<input type='hidden' value='$t_res1[t_to]' id='$t_res1[t_id]'> ";
}
?>
<label>Start Date</label>
<input type="text" id="from" value="">
</body>
</html>

Javascript

function getselected(selectobject) 
{
  var results = {};
  for (var i=0; i<selectobject.options.length; i++) 
  {
    var option = selectobject.options[i];
    var value = option.value;
    results[value] = option.selected;
  }
  return results;
}
var currentselect = {};
function change () 
{
   var selectobject = document.getElementById("pre_task");
   var newselect = getselected(selectobject);
   for (var k in newselect) 
   {
      if (currentselect[k] != newselect[k]) 
      {
        if (newselect[k]) 
        {
          var TextBox = document.getElementById("from");
          TextBox.value = document.getElementById(k).value;
        }
      }
    } 
 currentselect = newselect;
 }   

现在我这样做是为了获取最后选择的日期并将其打印到文本框

先感谢您

4

2 回答 2

1

将您的两个日期值转换为Date 对象,然后使用常用的比较运算符进行比较。

于 2013-02-11T06:43:19.373 回答
0

javascript Date 的 getTime() 方法返回自 1970 年 1 月 1 日午夜以来的毫秒数,因此我们可以使用

dateObj1.getTime()-dateObj2.getTime()

找出差异。从这里我们可以找到最大的结束日期

于 2013-02-11T06:53:22.630 回答