Для меня начинающего php-шника работа с jQuery была проблемой, в силу своих не знаний. Но, оказывается всё довольно просто. Если ещё выдет ряд статей по jQuery я буду очень рад. И в оконцовке, перейду на этот чудо фреймворк:)
Я был бы вам признателен до гробовой доски, если бы вы написали подобную материал, на тему как сделать Add To Cart для магазина. Чтобы чекбоксами добавлять в корзину.
:) Ну сложность в том что я не понимаю связки между выставления чек боксом — добавлением в таблицу индексов выбранных, и изменением цифры колличества (суммы) общей в верхней части страницы… Ну это стандартные контролы для таких решений.
Чувствую тут AJAX нужен…
галочка должна запускать ajax-запрос с id товара и доп. информацией
сервер получив запрос проверяет на безопасность контекст, залогинился ли клиент, не равна ли сессия null
проверив сервер сохраняет в session новый объект с информацией о заказе
генерирует итого по списку и отсылает либо готовый html, что хуже либо просто информацию, что лучше клиенту
у клиента вызывается функция возврата, полученные данные рендерятся в области информации о заказах
типа того :)
/// здесь ваша логика которая будет все делать
/// в том числе разбирать id чекбокса чтобы получить id товара
/// внутри этой функции существует this,
/// который уже указывает на экземпляр кликнутого чекбокса
})
}
);
этот код после загрузки документа автоматом пропишет всем нужным чекбоксам выполнять вашу функцию
все должно работать очень быстро, потому что передаются очень маленькие пакеты информации
я бы не стал использовать для этого update panel, просто ajax.net можно, но я предпочитаю jQuery
Привет :)
Меня смущает вот что — текстбокс рендерится, и скрывается ТОЛЬКО Css — соответственно, очень легко я могу туда ввести значение такое, какое желаю.
Кроме того, дата выставляется клиентская, что позволяет легко управлять временем обновления записи, не так ли.
Ну и последнее — это то, что можно туда ввести и не дату вовсе ;)
Хотелось бы у автора услышать почему он отказался от серверной обработки. Я, на первый взгляд, не вижу ни одной причины почему бы не обернуть ListView в UpdatePanel. На мой взгляд так было бы быстрее и нагляднее (ну за исключением передаваемого туда-сюда траффика между клиентом и серером). Но в любом случае спасибо, решение интересное и нестандартное, возьму на заметку.
я подумывал, но так и не попробовал, потому что изначально хотел сделать textbox c readonly вместо label
но потом выяснилось, что ни readonly ни enabled не дают обновить запись автоматом
возможно, что и будет работать
если кто возьмется у себя пробовать, рекомендую попытаться
да и сам попробую когда руки дойдут
Прошу прощения, немного не так выразился. Аякс запрос будет происходить только по нажатию кнопки сохранить. При нажатии/снятии чекбокса на клиенте будет показываться/прятаться соответствующий ему Textbox. Ну а при нажатии кнопки сохранить уже пойдет обработка на сервер.
не понял зачем показывать textbox, если пользователь нажал галочку?
суть в том, чтобы пользователь управлял только галочкой
вот потом что делать? допустим я внедрю в каждую запись ListView по asp: CheckBox, а дальше на сервере что? геморой с поиском контролов в дереве? поиск нажатой, еще делать анализ к какой именно записи относится галочка. далее придется делать самом запрос на обновление данных, то есть писать код на linq. Когда я сопоставил величину кода этого варианта и того, который в статье, то все понял. Лучше две строчки на jQuery
Еще раз про asp.net и jQuery