Я разрабатываю тему Woocommerce для одного из моих клиентов. Для этого проекта мне нужно было клонировать форму тележки (на страницах продукта), чтобы отобразить ее в другом месте на странице. мне удалось это сделать с этим фрагментом кода:Как заставить «выбранный» атрибут для вариантов вариантов в Woocommerce?
$(document).on('found_variation', 'form.cart', function(event, variation) { // found_variation // woocommerce_variation_select_change
$('.fixed-price-right').empty();
$(this).clone().appendTo('.fixed-price-right').each(function() {
$('.product-fixi').scrollToFixed();
});
});
Во-первых, на каждом изменении вариации, я опорожнить DIV, в котором будет отображаться форма клон. Затем я клонировал его и зафиксировал контейнер.
Проблема в том, что я получаю все, кроме выбранного значения вариации. Собственно, выбранное по умолчанию значение получило этот атрибут: selected = "selected". Но этот атрибут не применяется к другим параметрам. Здесь вы можете увидеть живой пример: http://www.pro4mance.com.au/product/produrance-energy-gels-2/
Если я отправляю из клонированной формы, продукт добавляется, но без опции.
Странно то, что если я добавлю вручную (с веб-консоли) этот attr в правой части клонированной формы, а затем добавлю продукт в корзину, продукт будет добавлен со всеми хорошими вариантами.
Я действительно не знаю, как принудительно добавлять выбранные = "selected" при каждом изменении. Может кто-то, пожалуйста, помогите мне справиться с этим?
Спасибо всем!
1) рекомендую опубликовать это на http://wordpress.stackexchange.com/ 2) почему клон jQuery, почему бы просто не использовать цикл снова для создания данных во второй раз? – zipzit
Спасибо за первую рекомендацию @zipzit. Я добавлю вопрос. Что касается второго момента, что вы подразумеваете под «повторением цикла»? Вы предлагаете добавить его напрямую через php? –