1

私はこれに完全に行き詰まっています。私は本当にもう何をすべきかわからないので、誰かが私を助けてくれたり、いくつかの例を示したり、非常に役立ついくつかの方向性を教えてくれたりするなら.

これは状況です:

JSON の詳細を含むいくつかのフォームが生成されるモーダル (eric martins simplemodal) ウィンドウがあります。これは、以下のコードで行われます。

         $.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 または一意の送信ボタンを使用する必要があることを知っています。私はあらゆることを試しましたが、最初のフォームを送信することしかできません。誰かが私を助けることができるいくつかの指示や例、またはすべてを手伝ってくれます;)

4

1 に答える 1

1

変化する

$(".submit").live("click", function(){
    //code
}

$(".submit").each(function(){
    $(this).live("click", function(){
        //code
    }
});

.class セレクターはすべてのクラスを返しますが、それらを処理する必要があります。あなたのコードでは、最初に見つかった .class でのみ機能します。

于 2012-08-09T12:51:30.177 に答える