Вроде нашел, то что мне надо. И даже, условно, работает.
$(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:24. |