使用jquery显示和隐藏输入

时间:2015-02-27 11:03:19

标签: javascript jquery

我有这个简单的代码:

$("#additional-room").hide();

var numAdd = 0;
$("#add-room").click(function(e) {
    e.preventDefault();
    $("#additional-room").show("");

    if (numAdd >= 3) return;
    numAdd++;
    $('#additional-room').append('<p><input type="text" placeholder="room"></input><a href="#">delete</a></p>');
});

$("#additional-room a").click(function(e) {
    e.preventDefault();
    $(this).parent().remove();
    numAdd--;
    if (numAdd < 1) $("#additional-room").hide("");
});

它应该在需要时添加输入字段,但删除功能不起作用。我确定这是一个简单的功能,但我不明白为什么它不起作用。请帮忙

Js fiddle:http://jsfiddle.net/qme9nq0b/1/

1 个答案:

答案 0 :(得分:1)

随着动态添加p标记,您需要使用事件委派:

$("#additional-room").on('click','a',function(e) {
    e.preventDefault();
    $(this).parent().remove();
    numAdd--;
    if (numAdd < 1) $("#additional-room").hide("");
});

Working Demo