dynamic input
input 추가 삭제
$.fn.dynamicInput = function(opt){
var idx = 0;
var t = $(this);
var btnBody = $(document.createElement('span'));
var base = $(document.createElement('span'));
var setting = { }
var btn = function(){
var addBtn = $(document.createElement('input'));
var delBtn = $(document.createElement('input'));
$(addBtn).prop("type","button");
$(delBtn).prop("type","button");
$(addBtn).val("추가");
$(delBtn).val("삭제");
$(addBtn).on("click",add);
$(delBtn).on("click",del);
$(btnBody).append(addBtn);
$(btnBody).append(delBtn);
$(base).append(create());
}
var add = function(){
var max = setting["max"];
if($(":"+setting["type"],t).length <= max){
var div = $(document.createElement('div'));
t.append($(div).append(create()));
idx++;
}else{
alert('더 이상 추가 할수 없습니다.');
}
}
var del = function(){
if($(":"+setting["type"],t).length > 1){
$(":"+setting["type"]+":last",t).remove();
}
idx--;
}
var create = function(){
var inpt = $(document.createElement('input'));
var n = setting["fileNm"];
var t = setting["type"];
var c = setting["class"];
$(inpt).attr("type",t);
$(inpt).attr("name",n);
$(inpt).addClass(c);
return inpt;
}
var init = function(){
t.append(base);
t.append(btnBody);
setting["fileNm"] = opt.filenm;
setting["type"] = opt.inptType===undefined?"text":opt.inptType;
setting["class"] = opt.cls;
setting["max"] = opt.max===undefined?3:opt.max;
btn();
}
init();
return this;
}
$("#addFileZone").dynamicInput({
filenm : "addFile",
inptType : "file",
cls : "",
max : 3
});
삭제 기능이 빠져서 추가
$.fn.dynamicInput = function(opt){
var t = $(this);
var btnBody = $(document.createElement('span'));
var base = $(document.createElement('span'));
var dynamicPanel = $(document.createElement('div'));
$(dynamicPanel).addClass("dynamicPanel");
var setting = { }
var classNm = "";
var addPossibleCnt = 0;
var btn = function(){
var addBtn = $(document.createElement('input'));
var delBtn = $(document.createElement('input'));
$(addBtn).prop("type","button");
$(delBtn).prop("type","button");
$(addBtn).val("추가");
$(delBtn).val("삭제");
$(addBtn).on("click",add);
$(delBtn).on("click",del);
$(btnBody).append(addBtn);
$(btnBody).append(delBtn);
$(base).append(create());
}
var add = function(){
if(addPossibleCnt > 0){
var div = $(document.createElement('div'));
$(div).addClass(classNm);
$(dynamicPanel).append($(div).append(create()));
addPossibleCnt--;
console.log("등로가능 : "+addPossibleCnt);
}else{
alert('더 이상 추가 할수 없습니다.');
}
}
var del = function(){
if($(":"+classNm,t).length > 1){
$("."+classNm+":last",t).parent().remove();
addPossibleCnt++;
}
}
var create = function(){
var inpt = $(document.createElement('input'));
var n = setting["fileNm"];
var t = setting["type"];
var c = setting["class"];
$(inpt).attr("type",t);
$(inpt).attr("name",n);
$(inpt).addClass(c);
return inpt;
}
var init = function(){
t.append(base);
t.append(btnBody);
setting["fileNm"] = opt.filenm;
setting["type"] = opt.inptType===undefined?"text":opt.inptType;
setting["class"] = opt.cls;
setting["max"] = opt.max===undefined?3:opt.max;
classNm = "dynamicInpt"+opt.filenm;
$(base).addClass(classNm);
btn();
var viewDiv = $(document.createElement('div'));
$(viewDiv).addClass("viewFile");
addPossibleCnt = setting["max"] - (opt.viewData===undefined?0:opt.viewData.length);
t.append(dynamicPanel);
if(opt.inptType == "file"){
view();
}else if(opt.inptType == "text"){
}
if(addPossibleCnt == 0){
$(base).hide();
}
}
var viewFile = function(){
if(opt.viewData != undefined && opt.viewData.length > 0){
var viewDiv = $(document.createElement('div'));
$(viewDiv).addClass('viewDiv');
for(var i =0;i
Type=file 에 대한것만 고려됨.. 수정이 필요함..
첨부파일 또는 text 추가 및 삭제
댓글 쓰기
0 댓글