2012-06-23 3 views
-1

Можно создать дубликат:
How i get appointment time (From time,To time) in jqueryполучить предыдущий или следующий значение ячейки таблицы в JQuery

see jsfiddle

я выбирающий временной интервал перетаскиванием на временном интервале ячейки. после выбора временного интервала i введите имя в текстовое поле, тогда назначается назначение пациента для этого временного интервала. Мне нужно вставить имя пациента как (abc), время начала (например, 8:00 AM 0) и время окончания (8:00 AM 30) в базе данных. Как я могу получить эти три значения в jquery.

+0

Вы должны быть более детализированы в ваших вопросах. Вы спросили, как получить некоторые значения, а затем пожаловались, когда код выбора, который у вас был, который не работал, был проигнорирован, и люди пытались дать вам решение вопроса, который вы задали. Это потребовало времени и усилий, чтобы помочь вам! – charlietfl

ответ

-1

Используйте новый элемент HTML5time (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

he dosnt use html 5 –

+0

И почему это имеет значение? Работает в любом браузере с помощью взлома JavaScript с одним лайнером или путем включения библиотеки [Modernizr] (http://modernizr.com/). – knut

+0

у не получили мой quetion видеть в моей скрипке, если я перетащить время с 8:00 утром 0 до 30, то \t я ввести некоторое имя в текстовом поле и нажмите на кнопке обновления \t \t \t затем значение текстового поля идет к отведенному времени слоту так мой quetion как я могу получить эти значения в переменной jquery для дальнейшей работы. –

0

На мой взгляд, есть много работы, чтобы сделать расписание великолепным и дать хороший пользовательский интерфейс в различных браузерах. Возможно, вы можете использовать полный календарь jQuery (http://arshaw.com/fullcalendar/) и настроить его в соответствии с вашими потребностями.

Вот дем для создания временных событий на один день:

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

+0

u didnt получить мой quetion увидеть в моей скрипке, если я перетаскиваю время с 8:00 утра 0 до 30, затем \t i type some name в текстовом поле и нажмите кнопку «Обновить» \t \t \t \t, тогда значение текстового поля будет переведено в выделенный временной интервал, поэтому мой вопрос заключается в том, как я могу получить эти значения в переменной jquery для дальнейшей работы. –

+0

Извините, но я считаю, что в текущей ситуации нелегко выбрать время, не изменяя HTML, не пытаясь проанализировать значения в ячейках, сравнить их и извлечь временной интервал. Вот почему я предложил использовать специализированный виджет, который бы разрешил проблемы, которые у вас есть сейчас и, возможно, будущие проблемы. –

-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) 
}) 

Вот много упрощенных, но рабочая версии с помощью события нажатия на временной ячейке. Ваш метод выбора мыши didn; t, похоже, работает, и щелчок более удобен для пользователя. Это не завершит всю программу, но должны дать вам некоторые идеи идти вперед

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

+0

charlietfl soln отлично, но временной интервал необходимо выбрать, перетаскивая более одной ячейки. –

+0

использовать пользовательский интерфейс jQuery. Вы все равно можете использовать практически тот же код, просто добавьте один и тот же класс ко всем выбранным. То, что у вас было, не работало, и ваш вопрос был о том, как получить ценности. У вас есть путь, чтобы перейти от этого простого макета до html, который будет делать то, что вы хотите – charlietfl

+0

с текущим кодом jquery не возможно –

Смежные вопросы