删除克隆事件JQuery

时间:2016-03-29 18:24:11

标签: javascript php jquery

我在字段集中添加事件,虽然我可以添加它们,但我不确定如何编写正确的函数来删除它们。我有它在javascript工作,但被要求使用JQuery编写它,似乎无法使其工作。我研究过的所有例子似乎都不适用于我的原始克隆功能,它在其中构建了一个删除按钮。字段集也重复,我已经为此工作了代码,只需要一点这个删除事件函数的帮助。

这里是javascript / jquery:

var _eventCounter = 0;
var removeEventButton = $("<input></input>").attr("type", "button").attr("value", "-");
function addEvent(num)
{
    _eventCounter++;
    var c = $("#event-code-"+num).clone(true);
    c.attr("id", "event-code-"+num);
    var eventName = "s"+num+"_e["+_eventCounter+"]";
    $('#'+ eventName, c).val('')
    $("#textNumberRequired1", c).val('');
    removeEventButton.attr("onClick", "removeEvent('+c+')");
    $(c).append(removeEventButton.clone(true));
    $("#event-placeholder-"+num).append(c);

}

function removeEvent(c) {
    //$("#event-placeholder #event-code-1").remove(); 
    $(c).remove(); 

}

这是html / php:

<div id="section_placeholder">
    <div id="section_template1">
        <fieldset class="box-outline-blue">
            <legend>Section Requirements</legend>
            <h3>Number of events required:  </h3><input type="text" id="textNumberRequired1" size="8" name="numberRequired1"><br>
            <br />
            <h3>Please enter the required event codes: </h3>
            <div id="event-placeholder-1">
                <div class="eventCode" id="event-code-1">   
                    <br />Event Code: <input type="text" id = "eventCodes_section1" name="s1_e[]" size=8 > <input type="button" id="add" onClick="addEvent(1)" value="+">
                </div>
            </div>
            <br /><br />

        </fieldset>


    </div>
</div>

1 个答案:

答案 0 :(得分:0)

  • 点击删除按钮,点击jQuery:

    这:removeEventButton.attr("onclick", "removeEvent("+c+")");

    至:$(removeEventButton).on("click", removeEvent);

  • class添加event-placeholder-x div,删除会更容易

    <div id="event-placeholder-1" class='placeholder'>

  • 最后,当remove button收到点击后,您的removeEvent会找到它的父母,然后将其删除

    这:$(c).remove();

    至:$(this).parentsUntil('.placeholder').remove();