Не открывается календарь datapicker в ячейках таблицы
Доброго дня.
Подключаю календарь: <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <script type="text/javascript" src="test.js"> </script> Есть таблица,в ячейки которой надо вставить даты из календаря: <p>Date: <input id="datepicker" type="text" ></p> <table><tr><td class="edit payment_date 44380">11.11.2016</td></tr> <tr><td class="edit payment_date 44381">12.11.2016</td></tr> <tr><td class="edit payment_date 44381">13.11.2016</td></tr> </table> jQuery(document).ready(function ($){ $(function() { $("#datepicker").datepicker(); }); $(document).on('click', 'td.edit', function(){ arr = $(this).attr('class').split( " " ); $('.ajax').html($('.ajax input').val()); $('.ajax').removeClass('ajax'); $(this).addClass('ajax'); $(this).html('<input id="editbox" size="4" value="' + $(this).text() + '" type="text">'); $('#editbox').select(); $('#editbox').focus(); $('#editbox').datepicker(); }); }) так вот при нажатии на верхний инпут-календарь открывается мгновенно (это сделал для проверки). При нажатии на ячейку таблицы- поле превращается в инпут, НО КАЛЕНДАРЬ включается в нем спустя 10-20 секунд. Что интересно - вчера работало все на отлично (по первому щелчку делался инпут, по второму открывался календарь сразу), но я что то сделал и начало тупить. Пол ночи не спал, пытался разобраться. Помогите пожалуйста. |
datepicker изменение даты в ячейке таблицы
kupidon,
для изменения, кликнуть по дате, выбрать нужную в календаре. <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> <script> $(function() { $("td.edit").on("click", function(event) { event.pageY +=18; var self = this; $({}).datepicker("dialog", self.innerHTML, function(data) { $(self).html(data) }, { dateFormat: "dd.mm.yy" }, event) }) }); </script> </head> <body> <table> <tr><td class="edit payment_date 44380">11.11.2016</td></tr> <tr><td class="edit payment_date 44381">12.11.2016</td></tr> <tr><td class="edit payment_date 44381">13.11.2016</td></tr> </table> </body> </html> |
Огромное Вам спасибо,за помощь. Запустил Ваш код, работает отлично.
Буду сегодня его под себя настраивать его. У меня из датапикера была отправка в БД. Подскажите пожалуйста: будет ли работать обработчик (который работал в предыдущем коде) теперь в вашем: onSelect: function(dateText, inst) { $.ajax({ type: "POST", url:"test.php", data: "value="+dateText+"&id="+arr2+"&field="+arr1+"&table="+table, success: function(data){ $('.ajax').html($('.ajax input').val()); $('.ajax').removeClass('ajax'); }, error: function(){ alert ("Ошибка отправки новых данных. Обратитесь к администратору."); } }); } интересует именно вот эта часть кода: function(dateText, inst) |
kupidon,
да function(data) { это тоже самое , откуда вы возьмте остальные данные дело ваше. |
что-то не получается отправить пост запрос. firefox показывает, что запроса POST вообще не происходит, даже ошибки не выдает. Переменные для передачи рабочие (arr[1],arr[2],table).
Ячейка до редактирования имеет код: <td class="edit2 payment_date 49864">00.00.0000</td> По клику по ячейки, всплывает календарь, выбираю дату, она записывается новым значением в ячейку, но в БД не отправляется. Что-то опять делаю не так :( $(function() { $("td.edit2").on("click", function(event) { arr = $(this).attr('class').split( " " ); $(this).addClass('ajax'); var table = $('.oplaty_online').attr('id'); event.pageY +=10; var self = this; $({}).datepicker("dialog", self.innerHTML, function(data0) { $(self).html(data0) }, { dateFormat: "dd.mm.yy", monthNames: [ "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" ], dayNamesMin: [ "вс", "пн", "вт", "ср", "чт", "пт", "сб" ], firstDay: 1, altField: "#actualDate", onSelect: function(data0) { $.ajax({ type: "POST", url:"kuzzz_reportpost.php", data: "value="+data0+"&id="+arr[2]+"&field="+arr[1]+"&table="+table, success: function(data){ $('.ajax').html($('.ajax input').val()); $('.ajax').removeClass('ajax'); }, error: function(){ alert ("Ошибка отправки новых данных. Обратитесь к администратору."); } }); } }, event) }) }); |
kupidon,
строку 16 убрать, а содержимое перенести в строку 9 |
kupidon,
???зачем нужны эти строки непонятно, может их убрать? $(function() { $("td.edit2").on("click", function(event) { var arr = $(this).attr('class').split(" "); $(this).addClass('ajax'); //??? var table = $('.oplaty_online').attr('id'); event.pageY += 10; var self = this; $({}).datepicker("dialog", self.innerHTML, function(data0) { $(self).html(data0); $.ajax({ type: "POST", url: "kuzzz_reportpost.php", data: "value=" + data0 + "&id=" + arr[2] + "&field=" + arr[1] + "&table=" + table, success: function(data) { $('.ajax').html($('.ajax input').val());//??? $('.ajax').removeClass('ajax'); //??? }, error: function() { alert("Ошибка отправки новых данных. Обратитесь к администратору."); } }); }, { dateFormat: "dd.mm.yy", monthNames: ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"], dayNamesMin: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], firstDay: 1, altField: "#actualDate" }, event) }) }); |
Спасибо большущее. Заработало!
$({}).datepicker("dialog", self.innerHTML, function(data0) { $(self).html(data0), $.ajax({ type: "POST", url:"kuzzz_reportpost.php", data: "value="+data0+"&id="+arr[2]+"&field="+arr[1]+"&table="+table, success: function(data){ $('.ajax').html($('.ajax input').val()); $('.ajax').removeClass('ajax'); }, error: function(){ alert ("Ошибка отправки новых данных. Обратитесь к администратору."); } })}, |
про какие строки вы говорили?
|
kupidon,
строки б,7,8 у вас бесполезные, ненужные пост №8 можно убрать или заменить 7,8 на алерт(жизнь прекрасна) но вам виднее |
Часовой пояс GMT +3, время: 22:19. |