计算返回NaN

Jos*_*hMc 1 javascript jquery

我正在尝试创建一个允许多次上传图像的页面,这需要不同的名称属性.为了实现这一点,我使用JS添加一个i给出数字的变量.

下面的代码返回NaN,我不太清楚为什么?

$('document').ready(function() {
var i = 1;
$('#new-dialogue').click(function() {
    var i = i + 1;
    $('.create-upload').append('<div class="upload"><input type="file" name="image' + i + '"/></div>');
});
});
Run Code Online (Sandbox Code Playgroud)

Nie*_*sol 5

删除第二个var.

你当前的代码所说的是,当new-dialogue点击它时,它应该创建一个被调用的变量i并将其设置为i+1...但是因为i尚未在你正在做的这个范围中定义undefined + 1,这是NaN.

删除第二个var将导致click函数i从包含范围获取变量,这是您希望它执行的操作.然后你可以i++根据需要增加它.

也就是说,您可以通过以下方式让您的生活更轻松:

<input type="file" name="image[]" />
Run Code Online (Sandbox Code Playgroud)

因为在服务器端,您将拥有一组上传的文件;)