laimas,
можете пожалуйста пояснить, что вот это значит this.init = function(widjetID, config) что такое this? init - переменная с результатом функции? Вроде разобрался с получением данных по клику на ссылку, как вы и писали. Но вот теперь не добавляется все это в корзину, подозреваю, что дело все в этих this Вы писали про obj: <script> $(document).ready(function(){ // $('.item_img').loupe({ width: 200, height: 150, loupe: 'loupe'}); // Форма для валидации $.validationEngine.defaults.scroll = false; var contactForm = $('#formToSend'); // Подключаем корзину cart = new WICard("cart"); var config = {'clearAfterSend':true, 'showAfterAdd':true, 'valudate':contactForm}; cart.init("basketwidjet", config); }); document.addEventListener('visibilitychange', function(e) { cart.init("basketwidjet", {}); }, false); </script> cart = new WICard("cart") |
this - дословно переводится как "это". В JS определяет контекст.
Не знаю, что вы там по клику сделали, но если плагин добавляет в корзину только по щелчку кнопки (что видно по нативному обработчику), но аргументы функции можно и расширить addToCart(), но еще проще $('body').on('click', 'button', function() { cart.addToCart($(this.parentNode).find('input')) //ну или саму кнопку передавать в плагин, а в нем уже искать поле ввода ну а далее уже все в нем брать }); //в плагине this.addToCart = function(curObj) { //curObj, это поле ввода, а все остальные данные типа '002','Зонт1',1500 //будет содержать это же поле ввода, а не кнопка, в атрибуте data-val, //куда сервер и поместит данные при выводе, //только не надо обрамлять 1500 в кавычки, это не строка, а число, //и зря отдавать клиенту два байта на значение, да еще никчемные пробелы между ними.... //эти значения получаются как var d = curObj.data('val').split(','); //ну и останется сопоставить их "id", "name", "price" } Разберетесь? |
laimas,
огромное спасибо. Благодаря вашим подсказкам и советам, сделал то, что хотел. |
Часовой пояс GMT +3, время: 00:19. |