Как прочитать data-product_id из следующего кода - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть скрипт, который в woocommerce ловит меня на событии добавления товара в корзину.

    <script>
        (function($){
           $('body').on( 'added_to_cart', function(e, fragments, cart_hash, this_button){
              console.log('this_button:',this_button);
           });
        })(jQuery);
    </script>

После нажатия кнопки ADD_TO_CART в

console.log(this_button);

я получаю этоответ и в нем я вижу нужный мне product_id

this_button: 
{…}
​
0: <a class="button product_type_simple add_to_cart_button ajax_add_to_cart added" href="/Blog/produkt/klawwa/?add-to-cart=14" data-quantity="1" data-product_id="14" data-product_sku="" aria-label="Dodaj “Fajna flaszka” do koszyka" rel="nofollow">
​
context: <a class="button product_type_simple add_to_cart_button ajax_add_to_cart added" href="/Blog/produkt/klawwa/?add-to-cart=14" data-quantity="1" data-product_id="14" data-product_sku="" aria-label="Dodaj “Fajna flaszka” do koszyka" rel="nofollow">
​
length: 1
​
selector: ""
​
__proto__: Object { jquery: "1.12.4", constructor: n(), length: 0, … }

А теперь вопрос, как найти значение data-product_id из этой последовательности.Вопрос на самом деле не связан с Woocomerce, а с самим JS.Заранее благодарю за помощь.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Вы можете получить значение, добавив его к функции .click().

$(this).data('product_id');

TRY:

 <script>
        (function($){
           $('body').on( 'added_to_cart', function(e, fragments, cart_hash, this_button){
              console.log($(this_button).data('product_id'));
           });
        })(jQuery);
    </script>
0 голосов
/ 30 апреля 2019

Единственное, что я могу вам предложить, это попробовать позвонить:

console.log(this_button.context['data-product_id'])
//returns undefined 

или

console.log(this_button[0]['data-product_id'])

И не забывайте пить эту фляшку ответственно.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...