我完全坚持这个。我真的不知道该怎么做,所以如果有人愿意帮助我,有一些例子或指出我在一些非常有用的方向。
情况就是这样:
我有一个模态(eric martins simplemodal)窗口,其中一些窗体生成了一些JSON细节。这是通过以下代码完成的:
$.each(data.product.variants, function(index, variant){
contentHtml = contentHtml +
'<div id="form">' +
'<form class="formProduct" id="formProduct'+variant.id+'" action="#" >' +
'<div class="variants">' +
'<div class="pop_variantTitle"><label><input type="hidden" id="variantId" name="'+ variant.id + '" value="' + variant.id + '" />' + variant.title + '</label></div>' +
'<div class="pop_variantQuantity"><label">{{ 'Quantity' | t }}: <input type="text" name="quantity" id="formProductQuantity" value="1" /></label></div>' +
'<div class="pop_variantAdd"><a class="button green submit" href="#"><span>{{ 'Add to cart' | t }}</span></a></div>' + //
'</div>' +
'</form>' +
'</div>';
});
$('.formProductContent').html(contentHtml);
});
}})
return false;
})
$().ready(function(){
var form = $('form').attr('id');
$(form).submit(function() { return false; });
$(".submit").live("click", function(){
var quantity = $("#formProductQuantity").val();
var variant = $("#variantId").val();
$(".submit").replaceWith("send...");
$.ajax({
type: 'POST',
url: '{{ 'cart/add/' }}'+variant+'/?quantity='+quantity+'',
data: $(form).serialize(), //"formProduct"
success: function(data) {
/*if(data == "true") {
$(form).fadeOut("fast", function(){
$(this).before("<p><strong>Success! Your feedback has been sent, thanks :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}*/
}
});
});
});
脚本本身很好用。 我知道要提交这些表单,我必须使用唯一的ID或唯一的提交按钮。我尝试过各种各样的东西,但我只能提交第一张表格。任何人都可以帮我提供一些指示或示例或一切可以帮助我的事情;)
答案 0 :(得分:1)
变化
$(".submit").live("click", function(){
//code
}
与
$(".submit").each(function(){
$(this).live("click", function(){
//code
}
});
.class选择器返回所有类,但您需要处理它们。对于您的代码,它只适用于找到的第一个.class。