javascript - 添加 Div's on Click with counter & limit

标签 javascript jquery html

我想用下面的代码添加一些功能,一个人只能点击添加按钮 5 次。

我还想为每个复制添加一个删除按钮,这样当点击时,div 被删除并且 5 次的计数器减少。

HTML:

    <button id="button" onlick="duplicate()">Add another plan</button>
<div id="duplicater">
    <p>Choose Your Mobile Plan</p>
    <select>
        <option value="1">Package 1</option>
        <option value="2">Package 2</option>
        <option value="3">Package 3</option>
        <option value="4">Package 4</option>
        <option value="5">Package 5</option>
        <option value="6">Package 6</option>
    </select>
</div>

JS:

document.getElementById('button').onclick = duplicate;

var i = 0; var original = document.getElementById('duplicater');

function duplicate() {
    var clone = original.cloneNode(true); // "deep" clone
    clone.id = "duplicater" + ++i; // there can only be one element with an ID
    original.parentNode.appendChild(clone); }

可以在这里找到 JSFiddle:http://jsfiddle.net/7x4re/

最佳答案

您只需在重复代码前添加一个if:

document.getElementById('button').onclick = duplicate;

var original = document.getElementById('duplicater');

var i = 1;

function duplicate() {
    if (i < 6) {
        var clone = original.cloneNode(true); // "deep" clone
        clone.id = "duplicater" + i++; // there can only be one element with an ID
        original.parentNode.appendChild(clone);
    }
}

1. Example on JSFiddle.

如果你想在点击5次时禁用按钮,下面是代码:

document.getElementById('button').onclick = duplicate;

var original = document.getElementById('duplicater');

var i = 1;
var max = 5;

function duplicate() {
    if (i < max + 1) {
        var clone = original.cloneNode(true); // "deep" clone
        clone.id = "duplicater" + i++; // there can only be one element with an ID
        original.parentNode.appendChild(clone);
        if (i > max) document.getElementById('button').disabled = true;
    }
}

2. And an example on JSFiddle.

3. Finally the master solution with add and remove button. But just in a JSFiddle because the code is large...

4. I know it's already a lot but I improved all this, here is the JSFiddle with add and remove button, disable enable function, min max variable and without any i or count varaible, so it's the ultimate master solution ;)

关于javascript - 添加 Div's on Click with counter & limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456099/

相关文章:

javascript - js,如何获取location.hash中的一部分

javascript - 禁用手动键盘输入 JavaScript/Oracle JET

c# - 如何从 dll 依赖项创建 CCW

javascript - 如何检索本地变量(地理位置 HTML5 和 Google map API)?

jquery - 如何确定 Google 表格窗口大小

javascript - 类与数据属性,自动字段初始化器

javascript - 如何动态上传并运行javascript文件?

javascript - jQuery 链式事件未触发

html - 如何设计我想要的导航标签?

html - 使用html在jsp中显示查询