0

内の.each()関数.click()は実行されていません。jQueryがそれらを認識して実行できるように、構文的に正しくするためにそれらを構造化する方法がわかりません。

クロージングの前にそれらをつけようとしました});が、うまくできなかったか、それがうまくいかなかったかのどちらかです。グーグルを試してみましたが、トピックのタイトル以外に何を検索すればよいか途方に暮れました。関数内でjquery関数を試しましたが、それは失われた原因であることが判明しました。

編集: 最初のものを適切に起動することができました ( //POST specials) が、2 番目のものはまだ機能していません。extras POSTの中.ajax()に入れようとしてもspecialsうまくいきませんでした。

$('.class').find('#button').click(function() {

        //all kinds of variables here

        var dataString = {//variables:variables}
        console.log(dataString);

        $.ajax({
            type: "POST",
            url: "classes/reserve.php",
            data: dataString,
            cache: false,
            success: function(html)
            {
                //POST specials
                $('#specialscheck input:checked').each(function() {
                    var reservation = $('#reservation').val();
                    var special = parseInt($(this).attr('id'));
                    dataString = {reservation:reservation, special:special};
                    console.log(dataString);
                    $.ajax({
                        type: "POST",
                        url: "classes/insert_specials.php",
                        data: dataString,
                        cache: false,
                        success: function(html)
                        {
                            //$('.unitinfolist').html(html);
                        }
                    }); 
                });

                //POST extras
                $('#extrascheck input:checked').each(function() {
                    var reservation = $('#reservation').val();
                    var extra = parseInt($(this).attr('id'));
                    dataString = {reservation:reservation, extra:extra};
                    console.log(dataString);
                    $.ajax({
                        type: "POST",
                        url: "classes/insert_extras.php",
                        data: dataString,
                        cache: false,
                        success: function(html)
                        {
                            //$('.unitinfolist').html(html);
                        }
                    }); 
                });
            }
        });
    });
4

1 に答える 1

1

このパターンに従うには、.each をsuccessjquery ポストの関数に移動するか、その を設定する必要があります。async: false

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType,
  async:false
});
于 2013-11-09T20:56:03.413 に答える