Вроде нашел, то что мне надо. И даже, условно, работает.
$(function() { $(document).on("mouseenter",'[data-handler="selectDay"]',function(){ var date = new Date($(this).data("year"), $(this).data("month"),$(this).text()); var ReservID = $('this').attr('class'); console.log(date) // работает! console.log (ReservID); // возвращает nul! console.dir(this) // возвращает объект td.ReservID24.poly1c3.poly2c3 }) }); Я добавил в BeforeShowDay дополнительный стиль ячейки "ReservIDXX", где ХХ - номер брони. Хотя сейчас уже думаю, что было бы лучше добавить атрибут к объекту "data-reservid='xx'". Это не получилось по причине того, что я в эту функцию не передается ссылка на объект (видимо, в связи с тем, что его еще нет). Реально ли как-то "воткнуть" свой атрибут? И, собственно, основной вопрос в том, что вышеприведенный код возвращает ReservID=null, вместо перечисления стилей. В то время как console.dir выводит объект TD с описанием нужной ячейки (в которой классы прописаны). |
karden,
4 строка кавычки то зачем у this? |
2 недели за компьютером почти не вылезаю... С утра не мог найти ошибку :)
Спасибо |
Небольшой вопрос, который не понял из документации.
$( "#autoFIO" ).autocomplete({ delay: 500, minLength: 3, source: getUserByRealName }); function getUserByRealName(request, response) { // тут ajax-запрос не пишу, чтобы не забивать голову лишним var ajaxResult = ['Иванов1', 'Иванов2', 'Иванов3']; response (ajaxResult); //??? return (ajaxResult); //??? } //function getUserByRealName() Оба варианта не заработали. Из документации я понял, что response - функция, которой надо передать данные - не сработало. Через return - тоже не показало. Как это надо исправить? Спасибо. |
|
Добрый вечер.
Потихонечку вояю интерфейс... Возникла необходимость вставить вот такой код, но после того, как ОНО получилось - понял, что это какой-то монстр. Разумеется, там где-то что-то пропустил, выдается ошибка, что совершенно понятно, т.к. совершенно не читаемо. А как этот код написать "правильно" (концептульно правильно)? Шаблон... Может еще что... $( '<tr id="ReservListItem'+ReservID+'" class="xReservListItem">'+ '<td>+DayStatus['RESERV'][ReservID]['DateReservedBegin']+' - ' +DayStatus['RESERV'][ReservID]['DateReservedEnd']+' (' +DayStatus['RESERV'][ReservID]['ReservedDays']+')</td>'+ '<td>'+DayStatus['RESERV'][ReservID]['UserFullName']+'<br>' +DayStatus['RESERV'][ReservID]['Phone']+'</td>'+ '<td>t3</td>'+ '</tr>').appendTo($("#ReservList"+AppartID)); Спасибо. |
karden,
строки 1-4 не осилил ниже можно так var tr = $("<tr>", { id: "ReservListItem" + ReservID, "class": "xReservListItem" }).appendTo($("#ReservList" + AppartID)); var td = $("<td>").appendTo(tr); var a = $("<a>", { text: DayStatus["RESERV"][ReservID]["DateReservedBegin"] + " - " + DayStatus["RESERV"][ReservID]["DateReservedEnd"] + " (" + DayStatus["RESERV"][ReservID]["ReservedDays"] + ")", click: onClc }).appendTo(td); var td = $("<td>").appendTo(tr); var a = $("<a>", { text: "t3", click: onClc }).appendTo(td); или пример тут строки 22 - 28 http://javascript.ru/forum/misc/4830...tml#post318542 |
Супер! Спасибо :)
|
Вроде, понимаю суть проблемы, но не могу понять как в этим бороться:
for (AppartID in ReservesList) { for (ReservID in ReservesList[AppartID]) { console.log(AppartID, ReservID); $('#ReservListItem'+ReservID).click(function(){ fShowDModal({ "AppartID": AppartID, "ReservID": ReservID+'' }); }); } // for2 } // for (AppartID in ReservesList) В момент генерации - значения AppartID, ReservID - правильные. Но, когда происходит .click, значения - последние, которые и используются для всех событий. Надо как-то "зафиксировать" значения... |
karden,
не используйте for или нужно замыкание переменных for (AppartID in ReservesList) for (ReservID in ReservesList[AppartID]) $("#ReservListItem" + ReservID).click(function(a, b) { return function() { fShowDModal({ "AppartID": a, "ReservID": b + "" }) } }(AppartID, ReservID)); |
Часовой пояс GMT +3, время: 16:29. |