Javascript jQuery将.each()函数放置在.click()函数中
Javascript jQuery将.each()函数放置在.click()函数中,javascript,jquery,Javascript,Jquery,.click()中的.each()函数未运行。我不知道如何构造它们,使其语法正确,以便jQuery能够识别并运行它们 我试着在结束前把它们钉上
.click()
中的.each()
函数未运行。我不知道如何构造它们,使其语法正确,以便jQuery能够识别并运行它们
我试着在结束前把它们钉上但是我要么做得不对,要么就是做得不对。我试着在谷歌上搜索,但除了我的主题之外,我不知道该搜索什么。我确实在函数内部尝试了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