jQuery 将 .each() 函数放在 .click() 函数中

jQuery placing .each() functions inside a .click() function

本文关键字:函数 click jQuery each      更新时间:2023-09-26

.click()内的.each()函数未运行。我不知道如何构建它们以使其语法正确,以便jQuery识别并运行它们。

我试着在收官});之前抓住它们,但我要么做得不对,要么不是这样做的。我尝试了谷歌搜索,但除了我的主题标题之外,我不知道要搜索什么。我确实尝试了函数中的jquery函数,但事实证明这是一个失败的原因。

编辑:我已经设法让第一个正确触发(//POST specials),但是,第二个仍然不起作用。我什至试图将extras POST放在specials.ajax()内,但没有奏效。

$('.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);
                        }
                    }); 
                });
            }
        });
    });

您应该将 .each 向上移动到 jquery 帖子的 success 函数中,或者设置其async: false以遵循此模式。

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType,
  async:false
});