Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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
Javascript jQuery将.each()函数放置在.click()函数中_Javascript_Jquery - Fatal编程技术网

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

Javascript jQuery将.each()函数放置在.click()函数中,javascript,jquery,Javascript,Jquery,.click()中的.each()函数未运行。我不知道如何构造它们,使其语法正确,以便jQuery能够识别并运行它们 我试着在结束前把它们钉上

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

我试着在结束前把它们钉上 编辑:我已经设法让第一个正确发射(
//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 post的
success
函数中,或者设置其
async:false
,以遵循此模式

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

一般来说,您可以将
.each()
放在任何函数(包括单击处理程序)中。您确定
$('.checkboxes1 input:checked')
使用了正确的选择器吗?如果没有与该选择器匹配的元素,
。each()
将不会执行任何操作。如果这些元素是通过最初的Ajax调用创建的,那么当出现
.each()
语句时,它们还不存在。您可以测试有多少元素与
console.log($('.checkboxes2输入:checked').length)匹配
。也许您可以显示一些html?(或在上为我们提供演示)我尝试了你所说的,但成功了一半。我已经编辑了我的问题以反映我的更改。请记住也将async:false设置为false