Javascript $(';输入:复选框';)没有返回。更改(函数(){?

Javascript $(';输入:复选框';)没有返回。更改(函数(){?,javascript,jquery,checkbox,input,Javascript,Jquery,Checkbox,Input,我正在测试这里提供给我的第二个解决方案,用于检查和记录已选中的每个复选框。第一个解决方案就像一个符咒,但第二个更有效的解决方案甚至无法运行 for (x in aL.results) { aLIds.push(aL.results[x].listing_id); aLTitles.push(aL.results[x].title); aLQuantities.push(aL.results[x].quantity); aLDescs.push(aL.results[x].desc

我正在测试这里提供给我的第二个解决方案,用于检查和记录已选中的每个复选框。第一个解决方案就像一个符咒,但第二个更有效的解决方案甚至无法运行

for (x in aL.results) {
  aLIds.push(aL.results[x].listing_id);
  aLTitles.push(aL.results[x].title);
  aLQuantities.push(aL.results[x].quantity);
  aLDescs.push(aL.results[x].description);
  aLTaxPaths.push(aL.results[x].Tax_path);
  aLTaxIds.push(aL.results[x].Tax_id);
  aLTags.push(aL.results[x].tags);
  aLUrls.push(aL.results[x].url);
  aLPrices.push(aL.results[x].price);
  aLViews.push(aL.results[x].views);
  aLHearts.push(aL.results[x].num_favorers);

  $('#tblListings').append(
    '<tr>' + '<td><input type="checkbox" name="updateListings[]" value=' + x + ' ></td>' + '<td>' + aLQuantities[x] + '</td>' + '<td>' + aLTitles[x] + '</td>' + '<td>' + aLPrices[x] + '</td>' + '<td>' + aLViews[x] + '</td>' + '<td>' + aLHearts[x] + '</td>' + '</tr>'
  );
}

$('input:checkbox').change(function() {
    alert('ah');
    var uLIndex = $('input:checkbox:checked').map(function() {
        return this.value;
    }).get();
    console.log(uLIndex);
});
for(总结果中的x){
aLIds.push(aL.results[x].listing_id);
aLTitles.push(aL.results[x].title);
推送(aL.results[x].quantity);
推(aL.results[x].description);
aLTaxPaths.push(aL.results[x].Tax\u路径);
推送(aL.results[x].Tax_id);
推送(aL.results[x].tags);
推送(aL.results[x].url);
aLPrices.push(aL.results[x].price);
push(aL.results[x].views);
推(aL.results[x].num_-favors);
$('#tblListings')。追加(
''+''+''+alquanties[x]+''+''+aLTitles[x]+'+''+aLPrices[x]+'+''+aLViews[x]+''+''+aLHearts[x]+'+'''
);
}
$('input:checkbox').change(function(){
警惕(“啊”);
var uLIndex=$('input:checkbox:checked').map(函数(){
返回此.value;
}).get();
控制台日志(uLIndex);
});

对于动态创建元素,我们不能直接绑定事件,执行类似于此或函数的操作,并且此函数在1.9版本中被删除,因此请确保您使用的是哪个版本的jquery,或者您可以在官方网站上找到的许多方法

$('body').on("change","input:checkbox",function() {
    alert('ah');
  var uLIndex = $('input:checkbox:checked').map(function() {
    return this.value;
  }).get();
  console.log(uLIndex);
});
已更新

将类添加到复选框复选框

$('#tblListings').append(
    '<tr>' + '<td><input class="check" type="checkbox" name="updateListings[]" value=' + x + ' ></td>' + '<td>' + aLQuantities[x] + '</td>' + '<td>' + aLTitles[x] + '</td>' + '<td>' + aLPrices[x] + '</td>' + '<td>' + aLViews[x] + '</td>' + '<td>' + aLHearts[x] + '</td>' + '</tr>'
  );

您缺少
}
for循环的结束
。调用
.change()
应该在循环内部还是在它完成之后?在它完成之后,它只是一个片段。我将重新编辑代码,这是第一个解决方案和第二个解决方案?
.live()
多年来一直被弃用,并在jQuery 1.9中被删除。哦,是的,但我们不知道他使用的是什么jQuery版本。thanx为您提供了宝贵的建议我将根据我使用的3.1.1 jqueryokk更新我的答案。请查看我的更新答案。。
$('body').on("change",".check",function() {
    alert('ah');
  var uLIndex = $('input:checkbox:checked').map(function() {
    return this.value;
  }).get();
  console.log(uLIndex);
});