Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery访问动态生成的表单_Jquery_Ajax_Django - Fatal编程技术网

jquery访问动态生成的表单

jquery访问动态生成的表单,jquery,ajax,django,Jquery,Ajax,Django,我使用for循环生成了一个表单 {% for id in data %} <form id="add_to_cart_{{id}}" method="POST" action="{% url 'add_to_cart' %}"> {{id}} <button type="submit" id="product_id_{{id}}" value="{{id}}">Add to cart</button> </form> {% endf

我使用for循环生成了一个表单

{% for id in data %}
<form id="add_to_cart_{{id}}" method="POST" action="{% url 'add_to_cart' %}">
    {{id}}
    <button type="submit" id="product_id_{{id}}" value="{{id}}">Add to cart</button>
</form>
{% endfor %}

$(此)
应该有您单击的按钮。所以可能是
$(this).val()
而不是
$(“#product_id”).val()

我最终找到了答案。
注意:请不要投反对票,因为我在回答我自己的问题。它可能会帮助某人

对于动态生成的表单,每个表单都必须有不同的ID
id=“form\u id{{{id}}”
。然后向表单中添加一个类,因为该类对于多个元素可以是相同的

比如:

通过这种方式,您可以访问for循环生成的表单的数据

{% for id in data %}
<form id="add_to_cart_{{id}}" method="POST" action="{% url 'add_to_cart' %}">
    {{id}}
    <button type="submit" id="product_id_{{id}}" value="{{id}}">Add to cart</button>
</form>
{% endfor %}
<form id="add_to_cart_{{id}}" class="AddToCartClass" action= ...
jQuery(document).ready(function($){
    $(document).on('submit', '.AddToCartClass', function(event){
        event.preventDefault();
        var prod_id = $(this).closest('form').find('#product_id').val();