20.03.2016, 11:59
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
Вроде нашел, то что мне надо. И даже, условно, работает.
$(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 с описанием нужной ячейки (в которой классы прописаны).
|
|
20.03.2016, 12:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
karden,
4 строка кавычки то зачем у this?
|
|
20.03.2016, 12:52
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
2 недели за компьютером почти не вылезаю... С утра не мог найти ошибку
Спасибо
|
|
21.03.2016, 16:09
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
Небольшой вопрос, который не понял из документации.
$( "#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 - тоже не показало.
Как это надо исправить?
Спасибо.
|
|
21.03.2016, 16:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
|
|
28.03.2016, 18:59
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
Добрый вечер.
Потихонечку вояю интерфейс...
Возникла необходимость вставить вот такой код, но после того, как ОНО получилось - понял, что это какой-то монстр. Разумеется, там где-то что-то пропустил, выдается ошибка, что совершенно понятно, т.к. совершенно не читаемо.
А как этот код написать "правильно" (концептульно правильно)? Шаблон... Может еще что...
$( '<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, 28.03.2016 в 19:24.
|
|
28.03.2016, 19:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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
Скрипты - уровень ученик.
|
|
28.03.2016, 20:48
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
Супер! Спасибо
|
|
28.03.2016, 22:09
|
Аспирант
|
|
Регистрация: 16.01.2016
Сообщений: 57
|
|
Вроде, понимаю суть проблемы, но не могу понять как в этим бороться:
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, значения - последние, которые и используются для всех событий.
Надо как-то "зафиксировать" значения...
|
|
28.03.2016, 22:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
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));
|
|
|
|