2010-01-11 111 views
2

我想在文本框或类似的东西在AJAX使用,以便为他所期望的用户可以更改时间numericupdownextender来显示时间..显示时间和上下箭头

我用修改控制显示的数字,并相应增加..

是有办法做到这一点..

新代码,但希望不是......

<asp:TextBox runat="server" ID="txtHour"></asp:TextBox> 
<ajaxToolkit:NumericUpDownExtender ID="txtHour_NumericUpDownExtender" runat="server" Enabled="True" Maximum="12" Minimum="1" TargetControlID="txtHour" Width="70"></ajaxToolkit:NumericUpDownExtender> 

<asp:TextBox runat="server" ID="txtMinute"></asp:TextBox> 
<ajaxToolkit:NumericUpDownExtender ID="txtMinute_NumericUpDownExtender" runat="server" Enabled="True" Maximum="60" Minimum="1" TargetControlID="txtMinute" Width="70"></ajaxToolkit:NumericUpDownExtender> 

<asp:TextBox runat="server" ID="txtDayPart"></asp:TextBox> 
<ajaxToolkit:NumericUpDownExtender ID="txtDayPart_NumericUpDownExtender" runat="server" Enabled="True" RefValues="AM;PM" TargetControlID="txtDayPart" Width="70"></ajaxToolkit:NumericUpDownExtender> 

代码后面是:

private void ParseTime(string TimeString) 
    { 

     // Validation of input 

     if (TimeString.IndexOf(":") == -1) 
     { 

      return; 
     } 

     if ((TimeString.IndexOf("PM") == -1) && (TimeString.IndexOf("AM") == -1)) 
     { 

      return; 
     } 

     // Good to go with format 

     int ColonPos = TimeString.IndexOf(":"); 
     int AMPos = TimeString.IndexOf("AM"); 

     int PMPos = TimeString.IndexOf("PM"); 
     string sHour = TimeString.Substring(0, ColonPos); 

     string sMinutes = TimeString.Substring(ColonPos, 3); string sDayPart = (TimeString.IndexOf("AM") != -1) ? TimeString.Substring(AMPos, 2) : TimeString.Substring(PMPos, 2); 
     txtHour.Text = sHour; 

     txtMinute.Text = sMinutes; 

     txtDayPart.Text = sDayPart; 
    } 
+0

我已编辑我的帖子以显示可能的解决方案。我不确定编辑是否会提醒你一个新的答案(我预计不会),所以希望这个评论会标志。 – fearofawhackplanet 2010-01-12 23:11:48

回答

0

hrmm,我建议你花一些时间玩jQuery,如果你没有。希望能帮助到你。

jQuery UI

John Resig

lovemore-world有hopefuly可以激励你,让创作热情去的好文章。

+1

通常的“你应该使用jQuery”的SO响应,而没有任何尝试回答这个问题。 AJAX工具包已经提供了一个可以解决这个问题的开箱即用控件。感谢您的反对btw。 – fearofawhackplanet 2010-01-11 23:57:06

+0

我没有投票给你。 – Intrigue 2010-01-12 00:06:02

+1

大声笑看起来每个人都在这个问题上投票!也许下来的选民可以尝试并帮助解决问题,而不是仅仅投票给那些想要帮助的人。 – fearofawhackplanet 2010-01-12 00:38:10

2

是的,这应该是相当简单的实现使用updownextender。只需将Web服务方法附加到serviceupmethod和servicedown方法,即按照所需的时间间隔递增/递减日期时间。你还没有发布任何代码,所以很难知道你被困在哪里。

更新:好吧,所以想到这一点,我不认为有任何真正的理由使用updownextender服务器回调。一个快速谷歌发现,JavaScript已经有一些基本的日期操作功能,所以很容易做到一切客户端。

我不是一个javascript专家,所以下面的代码可能是有问题的质量,但它似乎工作正常,希望能让你设置在正确的轨道上。让我知道你是否仍然陷入困境。

<head runat="server"> 
    <title></title> 
    <script type="text/javascript" language="javascript"> 
     <!-- 
      var date; 

      function initDateObject() 
      { 
       date = new Date ("January 1, 2000 12:00:00"); 
       showTimePortion(); 
      } 

      function showTimePortion() 
      { 
       document.getElementById('timeDisplay').value = padToMinimumLength(date.getHours(),2) + ':' + padToMinimumLength(date.getMinutes(),2) + ':' + padToMinimumLength(date.getSeconds(),2); 
      } 

      function padToMinimumLength(number, requiredLength) 
      { 
       var pads = requiredLength - (number + '').length; 
       while (pads > 0) 
       { 
        number = '0' + number; 
        pads--; 
       } 
       return number; 
      } 

      function addMinutes(n) 
      { 
       date.setMinutes(date.getMinutes() + n); 
       showTimePortion(); 
      } 

      function setTodaysTime() 
      { 
       var d = new Date(); 
       d.setHours(date.getHours()); 
       d.setMinutes(date.getMinutes()); 
       d.setSeconds(date.getSeconds()); 
       alert('the time is now ' + d.toString()); 
      } 
     --> 
    </script> 
</head> 
<body onload="initDateObject();"> 
    <form id="form1" runat="server"> 
    <div> 
     <input type="text" id="timeDisplay" readonly="readonly"/> 
     <a href="#" onclick="addMinutes(1)">+</a> 
     <a href="#" onclick="addMinutes(-1)">-</a> 
     <br /> 
     <a href="#" onclick="setTodaysTime()">Submit</a> 
    </div> 
    </form> 
</body> 
+0

不,我不能找到任何这样做的例子,所以我坚持...我得到的日期,但没有时间... – user175084 2010-01-11 23:30:19

+0

我已经更新了一些部分...任何帮助将不胜感激...谢谢 – user175084 2010-01-12 00:19:12

+0

一些反馈为什么我被低估会受到赞赏,所以在将来我可以尝试并提供更好的答案。 – fearofawhackplanet 2010-01-12 00:39:53