2016-03-29 26 views
0

Bir tablo kümesine olay ekliyorum ve bunları eklerken onları silmek için doğru işlevi nasıl yazacağımdan emin değilim. Javascript'te çalıştım ama JQuery kullanarak yazmam istendi ve işe yaramış gibi görünmüyordu. Araştırdığım tüm örnek, içinde bir kaldır düğmesi oluşturan özgün klonlama işlevimle çalışmıyor gibi görünüyor. Fieldsets de yinelenen ve zaten bu kod çalışması var, sadece bu kaldırma olayı fonksiyonu ile biraz yardıma ihtiyacım var. İşte Cloned Event'i kaldır JQuery

o javascript/jQuery:

<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> 
+0

jQuery.off() senin arkadaşın: https://api.jquery.com/off/ Bu harika çalıştı – Burimi

cevap

0
  • Değişim jQuery onclick kaldır düğmesi::

    bu: removeEventButton.attr("onclick", "removeEvent("+c+")"); İşte

    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

    için: $(removeEventButton).on("click", removeEvent);

  • bir class sizin event-placeholder-x div ekle remove button bir senin removeEvent, yani ana bulmak ve sonra kaldırmalısınız tıklayın aldığında, sonunda

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

  • Ve silmek kolay olacaktır o

    bu: $(c).remove();

    için: $(this).parentsUntil('.placeholder').remove();

+0

! Teşekkür ederim Daniel. –