Пытаюсь удержать ID корзины и количество товара через JQuery, но он возвращает неопознанное значение

Это мой HTML и JQuery, может ли кто-нибудь сказать мне, где я ошибся. JQuery возвращает неопознанное значение.

'''

    <div class="col-sm-2 product_data1 border-left">
        {% csrf_token %}
        <input type="hidden" class="product_id1" value={{ item.id }}>
        <select class="changeStatus" value={{ item.product_quantity }} name="quantity">
        <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
        </select>

'''

А это мой JQuery


        $(function () {

            var cart_id = $(this).closest('.product_data1').find('.product_id1').val();
            var product_quantity = $(this).closest('.product_data1').find('.changeStatus').val();
            var token = $('input[name=csrfmiddlewaretoken]').val();


            $("select").change(function () {
                alert(cart_id);
                alert(product_quantity);
                alert(token);
            });
        });

Если вы просто установите режим внутри функции select, она будет работать нормально

$(function() {
  $("select").change(function() {
    var cart_id = $(this).closest('.product_data1').find('.product_id1').val();
    var product_quantity = $(this).closest('.product_data1').find('.changeStatus').val();
    //var token = $('input[name=csrfmiddlewaretoken]').val();
    console.log(cart_id);
    console.log(product_quantity);
    //alert(token);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-2 product_data1 border-left">
        {% csrf_token %}
        <input type="hidden" class="product_id1" value="{{ item.id }}">
        <select class="changeStatus" value={{ item.product_quantity }} 
        name="quantity">
        <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
        </select>

Надеюсь, это поможет

Вернуться на верх