我想迭代几个输入字段然后添加到order
数组。
each()
完成后,我想要使用addTask
数组调用order
函数。但
当我在控制台中运行时,它会跳转到addTask(order)
并且只获得1个结果
当我将order
数组移出函数时,它不知道它在那里。
在each()
完成后,将其重新纳入范围是可取的。
// Start adding orders to display
$("#btn-new-line").on('click', function(){
$("input:text").each(function(index, element){
var elem = $(element);
var order = [] ;
order.push(elem.val()+ " ");
});
addTask(order); //* unresolved variable *
});
答案 0 :(得分:2)
每次循环都会覆盖“订单”变量。
// Start adding orders to display
$("#btn-new-line").on('click', function(){
var order = [] ;
$("input:text").each(function(index, element){
var elem = $(element);
order.push(elem.val()+ " ");
});
addTask(order); //* unresolved variable *
});
答案 1 :(得分:0)
声明如下:
$("#btn-new-line").on('click', function(){
var order = [] ;
$("input:text").each(function(index, element){
var elem = $(element);
order.push(elem.val()+ " ");
});
addTask(order); //* unresolved variable *
});
答案 2 :(得分:0)
// Start adding orders to display
var order = [] ;
$("#btn-new-line").on('click', function(){
$("input:text").each(function(index, element){
var elem = $(element);
order.push(elem.val()+ " ");
});
addTask(order); //* unresolved variable *
});
答案 3 :(得分:0)
在点击处理程序中声明您的order
变量:
// Start adding orders to display
$("#btn-new-line").on('click', function(){
var order = [] ;
$("input:text").each(function(index, element){
var elem = $(element);
order.push(elem.val()+ " "); // order still accessible through the enclosing function.
});
addTask(order);
});
答案 4 :(得分:-3)
订单范围仅限于回调,因为您在其中创建而不是扩展它。
$("#btn-new-line").on('click', function () {
$("input:text").each(function (index, element) {
var elem = $(element);
var order = [];
order.push(elem.val() + " ");
addTask(order); //* unresolved variable *
});
});