您好我使用以下代码将文件输入添加到我的表单:
var addFile = document.getElementById('addFile');
addFile.onclick = function addFile() {
if (this.count == undefined) {
this.count = 0;
}
if (this.count++ < 2) {
$(".files").append('<tr><td><input type="file" name="uploaded_file[]" class="file_input" size="46" style="margin-top:1px;"/><a class="delete" href="javascript:void(0)" style="color:blue; padding-left:15px;">Remove File</a></td></tr>');
}
if (this.count == 2) {
alert('If you wish to upload more than 3 files \nplease compile them into a .zip or .rar file');
}
};
以下代码用于删除文件输入。
$(function () {
$(".delete").live("click", function () {
$(this).parent().remove();
});
});
我正在寻找的方法可能是将两者合并在一起,当我删除文件时,整体输入计数为-1,与添加时的+1相同。这样,如果用户添加一个插槽然后删除一个然后重新添加一个计数是一致的。欢迎任何帮助。
干杯
答案 0 :(得分:2)
不是存储和持久计数,而是每次都要计算。
addFile.onclick = function addFile() {
var count = $(".files tr .file_input").length;
if ( count < 3 ) {
// append the row
}
else {
// don't append the row
}
}
可能效率稍低,但更易于管理。