定制输入文件中的操作按钮

时间:2019-05-09 17:18:43

标签: javascript jquery

当我使用多个输入文件时,“删除”按钮仅在第一次输入时起作用。目的是能够使用多个输入,而其中一个动作不改变其余输入。似乎代码没有看到输入的不同ID。如何让他们查看正在更改的输入,并注意每个输入的ID?

iconNameList.addAll(getCamEval(this));
function bs_input_file() {
            $(".input-file").find('input').each(function (index, dom) {
                var id = dom.id;
                $("#" + id).parent().find("button.btn-reset").addClass("hidden");

                $(".input-file").before(
                    function () {
                        if (!$(this).prev().hasClass('input-ghost')) {
                            var element = $("<input type='file' id='" + id + "' class='input-ghost' style='visibility:hidden; height:0'>");
                            element.attr("name", $(this).attr("name"));
                            element.change(function () {
                                element.next(element).find('input').val((element.val()).split('\\').pop());
                            });
                            $(this).find("button.btn-choose").click(function () {
                                element.click();
                            });
                            $(this).find("button.btn-reset").click(function () {
                                element.val(null);
                                $(this).parents(".input-file").find('input').val('');
                                bs_input_file();
                            });
                            $(this).find('input').css("cursor", "pointer");
                            $(this).find('input').mousedown(function () {
                                $(this).parents('.input-file').prev().click();
                                return false;
                            });
                            console.log(element)
                            return element;
                        }
                    }
                );

                $("#" + id).change(function () {
                    var element = $("#" + id);
                    if (element.val() != "") {
                        $("#" + id).parent().find("button.btn-reset").removeClass("hidden");
                    } else {
                        $("#" + id).parent().find("button.btn-reset").addClass("hidden");
                    }

                })

            })
        }

        bs_input_file();

1 个答案:

答案 0 :(得分:0)

我不太了解,但是如果您通过click事件调用函数,则可以传入事件对象。它具有一个名为target的属性,该属性具有一个名为id

的属性
function clicked(event){
console.log(event.target.id)
}