在jquery中获取表的上一个或下一个单元格值

时间:2012-06-23 05:43:34

标签: javascript jquery html

  

可能重复:
  How i get appointment time (From time,To time) in jquery

see jsfiddle

我通过拖动时隙单元格来选择时隙。    选择时隙后,在文本框中输入名称,然后为该时间段分配患者预约。                     我必须在数据库中插入患者姓名,如(abc),开始时间(上午8:00 0)和结束时间(上午8:00)。                     我如何在jquery中获得这三个值。

3 个答案:

答案 0 :(得分:0)

在我看来,有很多工作要让时间表看起来很棒,并在各种浏览器上提供良好的用户体验。 也许你可以使用jQuery完整日历(http://arshaw.com/fullcalendar/)并自定义它以满足你的需求。

以下是一天创建时间事件的演示:

http://arshaw.com/js/fullcalendar-1.5.3/demos/selectable.html

答案 1 :(得分:-1)

使用新的HTML5 time元素(documentation)。然后使用jQuery很容易获取时间。

以下是有关如何获取第一个选定单元格以及最后一个选定单元格的完整示例。在用户单击更新按钮后进行选择。

<!doctype html>
<html>
<head>
    <script 
        src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js">
    </script>
    <script 
        src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.0.6-development-only.js">
    </script>
    <script>
        $(function () {
            var start = $("td.csstdhighlight:first > time").attr("datetime");
            var end = $("td.csstdhighlight:last > time").attr("datetime");
        });
    </script>
</head>
<body>
    <table border="1">
        <tr><td class="csstdhighlight">
            <time datetime="2000-01-01 08:00:00">00</time>
        </td></tr>
        <tr><td class="csstdhighlight">
            <time datetime="2000-01-01 08:15:00">15</time>
        </td></tr>
        <tr><td class="csstdhighlight">
            <time datetime="2000-01-01 08:30:00">30</time>
        </td></tr>
        <tr><td><time datetime="2000-01-01 08:45:00">45</time></td></tr>
    </table>
</body>
</html>

请注意,如果要支持Internet Explorer 8或更低版本,则需要确保IE将新HTML5 time元素视为应该使用。最简单的选择是在上面的示例中包含Modernizr library,或者如果您需要详细信息,可以阅读博文How to get HTML5 working in IE and Firefox 2

答案 2 :(得分:-1)

通过一些轻微的html修改,例如向时间单元格和一些数据属性添加类,您可以利用jQuery.data()并使用类来简化定位单元格

 <td class="csstablelisttd time" data-hour="9" data-minute="45"> 45 </td>

如果已预订“广告位”,请向其添加一个标识已预订的类。将患者姓名作为数据存储到时间单元格中,然后您可以执行以下操作:

$('button').click(function() {
    var msg = 'No Bookings',
        $booked = $('.booked');
    if ($booked.length) {
        msg = [];
        $booked.each(function() {          
            var data = $(this).data()
            msg.push(data.hour + ':' + data.minute + ' - ' + data.patient)
        })
        msg = msg.join('\n');
    }
    alert(msg)
})

这是一个使用时间单元格上的点击事件的简化但有效的版本。您的鼠标选择方法似乎不起作用,点击更方便用户使用。这不会完成整个应用程序,但应该给你一些想法

http://jsfiddle.net/vrW2n/27/