我有这个脚本(我的第一个脚本之一),我在开发过程中得到了一些帮助:http: //jsfiddle.net/spadez/AYUmk/2/
var addButton =$("#add"),
newResp = $("#resp_input"),
respTextArea = $("#responsibilities"),
respList = $("#resp");
//
function Responsibility(text){
this.text=text;
}
var responsibilities = [];
function render(){
respList.html("");
$.each(responsibilities,function(i,responsibility){
var el = renderResponsibility(responsibilities[i],function(){
responsibilities.splice(i,1);//remove the element
render();//re-render
});
respList.append(el);
});
respTextArea.text(responsibilities.map(function(elem){
return elem.text;//get the text.
}).join("\n"));
}
addButton.click(function(e){
var resp = new Responsibility(newResp.val());
responsibilities.push(resp);
render();
newResp.val("");
});
function renderResponsibility(rep,deleteClick){
var el = $("<li>");
var rem = $("<a>Remove</a>").click(deleteClick);
var cont = $("<span>").text(rep.text+" ");
return el.append(cont).append(rem);
}
使用顶部框,您可以通过在输入框中键入职责并单击添加来将职责添加到文本区域。这适用于我的第一个盒子,但我需要它适用于三个不同的盒子,现在我有点卡住了如何将此函数应用于所有三个实例“责任、测试、test2”,而无需简单地复制代码三时间和改变变量。
我敢肯定这种事情一定会经常出现,但我不确定是否可以避免。希望有更多javascript经验的人可以对此有所了解。