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, время: 14:16. |