2017-04-04 85 views
1

當複選框未選中時如何從div中刪除元素?當複選框未選中時如何從div中刪除元素?

function dispCmpName(id) { 

      var campdip = $('#camp' + id).html(); 
      if ($("#campaign-name-disp").text().search("" + campdip) === -1) { 
       $("#campaign-name-disp").append('<br/><div id=campSub'+ id +'>'+ campdip + '<img src="./images/remove.png"alt="Delete Campaign" title="Delete Campaign" style="cursor: pointer" onclick="deleteCamp()"/>'+'</div>'); 
      } else { 
       alert(id); 
       $('#campaign-name-disp).remove(campdip); 
      } 
     } 
<div> 
    <p id="campaign-name-disp"></p> 
</div> 

<input type="checkbox" class="checkBoxClass1" id="${campDetails.campaignId}" name="campaignId" value="${campDetails.campaignId}" onclick="dispCmpName(${campDetails.campaignId})"/> 

<td id="camp${campDetails.campaignId}">${campDetails.campaignName}</td> 

每當我檢查複選框dispCmpName函數被調用和一個div下與ID 活動名稱,DISP增加了活動名稱爲p標籤。當我取消選中複選框時,我想使用div ID從我的p標記中刪除該活動名稱。任何人都可以幫我解決如何取消選中時的名稱。

注意:每個div id是唯一的。我的div ID看起來像這樣

<p id="campaign-name-disp"> 
<div id="campSub382581148">campaign name 1</div> 
<div id="campSub382581148">campaign name 2</div> 
</p> 
+0

你可以像使用$(#youDivToBeRemoved).remove();' – Rehan

+0

'p'標記沒有屬性'value'那樣使用'remove()'函數。改用'text()' – Rajesh

回答

2

你可以更巧妙地利用變化的事件做了,並使用複選框的「選中」屬性來決定做什麼。而你刪除它們時需要的元素來包裝每個廣告系列名稱(我假設可以有多個的),所以你已經得到的東西作爲手柄使用:

$(".campaignCheckBox").change(function(event) { 
    var id = $(this).val(); 

    if ($(this).prop("checked") == true) { 
    $("#campaign-name-disp").append('<span id="campaign-name-' + id + '">' + $('#camp' + id).html() + '</span>'); 
    } 
    else { 
    $("#campaign-name-" + id).remove(); 
    } 
}); 

<input type="checkbox" class="checkBoxClass1 campaignCheckBox" id="${campDetails.campaignId}" name="campaignId" value="${campDetails.campaignId}" /> 
相關問題