2016-10-14 19 views
0

私は動的に行を生成しようとしています。それはあなたが本当に親である何かに.removeChild()を使用しているように見えますjavascript removechild and remove not working

<script type="text/javascript"> 
 
    
 
      function Clonediv(divid) { 
 
       var application_id = $('#app_id').val(); 
 
       //var rn = $('#rownum').val; 
 
// var i = 0; 
 
       //alert(rn); 
 
       var rownum; 
 
       if (application_id != "") { 
 
        var cloned = $('#hdnClonedrows').val(); 
 
        var num = parseInt(cloned); 
 
        num = num + 1; 
 
        i = i + 1; 
 
        $('#hdnClonedrows').val(num); 
 
        clonedelement = num; 
 
        rownum = "Requirement" + i; 
 
        // alert(rownum); 
 
        var newtr = document.createElement('tbody'); 
 
        newtr.id = "Clonedrow_" + clonedelement; 
 
        $('#tableroles1').append(newtr); 
 
        $('#rowtoclone').css("display", "block"); 
 
        var abc = $('#rowtoclone').clone(); 
 
        $('#rowtoclone').css("display", "none"); 
 
        abc.appendTo(newtr); 
 
       } 
 
       else { 
 
        alert("Please select an application to add a Requirement"); 
 
        //$('#errordiv').html('Please select an application to add a Requirement<br/><br/>'); 
 
       } 
 
      } 
 
      $("#remove").on("click", ".removebutton", function (e) { 
 
       //e.preventDefault(); 
 
       //e.stopImmediatePropagation(); 
 
       e.removeChild(tableroles1); 
 
       $(this).parents("newtr").remove(); 
 
      }); 
 
       </script>
<html> 
 
    
 
    <a id="Adddiv" class="clAddNewLeft" href="javascript:Clonediv();">Add Requirements</a><br /> 
 
       @{ 
 
        string rowid = "Clonedrow_" + @clonedelement; 
 
        int rownum = 1; 
 
         //rownum = rownum + 1; 
 
      
 
        <div id = '@rowid'> 
 
    
 
         <table id="tableroles1"> 
 
    
 
          <tr id="rowtoclone" style="display: none"> 
 
    
 
           <td> 
 
            <label id="rownum">Requirement @rownum </label> 
 
    
 
           </td> 
 
    
 
           <td class="editValue"> 
 
            @Html.TextAreaFor(m => m.requirements, new { @class = "updatable", @style = "height : 150px; width : 653px" }) 
 
    
 
           </td> 
 
           <td class="editValue"> 
 
            @using (Html.BeginForm("FileUpload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) 
 
            { 
 
             <input type="file" name="file" id="fileToUpload" /> 
 
             <input type="submit" id="btnSubmit" value="upload" /> 
 
            } 
 
    
 
           </td> 
 
           <td> 
 
            <img alt="delete" src="../../Images/deleteIcon4.gif" id="remove" style="cursor: pointer;" /> 
 
           </td> 
 
    
 
          </tr> 
 
         </table> 
 
        </div> 
 
       } 
 
    
 

 
    
 
    
 
    
 
    
 
    </html>

答えて

0

....私は、行を削除することはできないんだけど、生成だが。あなたが"tableroles1"テーブルを削除しようとしている場合は、お使いの削除機能のためにこれを使用しよう:

$("#remove").on("click", function (e) { 

    $("#tableroles1").remove(); 

}); 

これは、次の操作を行う必要があります。

1)ユーザーが削除画像をクリックするとそれが呼び出すを我々は次に、<table id="tableroles1">

3)我々は、その後も子要素のすべてを除去することを親を除去された画像タグ、上記3つの親ノードを標的

2)機能。

+0

ご協力いただきありがとうございます。動的行が生成されますが、中行を削除すると削除されません。最後の行だけを削除することができます....助けて – km6

+0

@ km6私はちょうど答えを更新しました。 '' 'parent()' ''を使う代わりに '' '$("#tableroles1 ")' ''の実際の要素をターゲットにして、 – James