2012-03-27 95 views
1
select: function (event, ui) { 

     var staffItem = new Object(); 


     staffItem.StaffId = ui.item.id; 
     staffItem.Name = ui.item.name; 
     staffItem.Photo = ui.item.image; 
     staffItem.Email=ui.item.email; 
     staffItem.Mobile=ui.item.mobile;   

       var data = "<div><table width='100%'><tr><td align='right' ><div class='close16'/></td></tr></table><div><table><tr><td rowspan='4' width='50px;'><img src='" + staffItem.Photo + "' Width='48' Height='48' /></td><td>" + staffItem.Name + " (" + staffItem.StaffId + ")</td></tr><tr><td><table cellpadding='0' cellspacing='0'><tr><td>" + staffItem.Email + "</td><td>&nbsp;|&nbsp;</td><td>" + staffItem.Mobile + "</td></tr></table></td></tr></table></td></tr></table></div></div> "; 
       $('#staffInCharge').css('background-color','#FFAA55'); 
       $('#staffInCharge').append(data); 

正在使用此代碼的工作人員的詳細信息追加到一個div,並在close16類正在使用的圖像文件(十字標記刪除的數據),如果我點擊十字標記附加的數據應該被刪除,我該怎麼做,並且當我追加新數據時,它會逐一追加(在現有數據的下面),我需要將它追加到右側,我該怎麼做。刪除附加數據 - jQuery的

回答

1

刪除的數據,你可以做這樣的事情:

$(document).on('click', '.close16', function() { 
    $(this).parentsUntil('div').remove(); 
}); 

至於附加數據,這取決於一個你的DOM看起來像什麼,以及你想要達到的目標。您可能需要查看insertAfterinsertBefore以準確控制數據的添加位置。讓事情出現在「右側」可能更多的是你要插入的元素的風格問題,而不是你插入它們的DOM的位置。

.append將內容添加到容器的底部,只要您的標記被考慮。無論這與物品出現在容器中以前的物品下方的物品是否相同,都取決於這些元素的屬性。

如果您將DIV添加到另一個DIV之後,默認情況下它會出現在前者之下,但這與元素的顯示模式有關,而不是它在代碼中的位置。 Example

如果DIV元素是不同的顯示模式,例如inline-block,它們會出現在前一個元素的右側。 Example。請注意,JavaScript不會更改。

但是,如果您不想將DIV定位爲float: left;,您可能會發現您想要插入不在容器底部的元素,而是在元素之前插入元素,該元素始終位於底部。然後你將不得不使用類似insertBefore的東西。 Example

哪種確切的方法最適合您取決於您​​的標記和樣式的很多方面。說你想要「右側」的東西並不能爲我們提供足夠的信息來幫助你。

+0

非常感謝你大衛hedlund,刪除絕對正常工作,是一個新手我不知道如何解決這個問題,在右邊添加新的數據,你能幫我嗎 – shanish 2012-03-27 11:50:39

+0

@عبدالصمد:好的,看我的更新。希望有所幫助。 – 2012-03-27 12:09:59

+0

感謝烏拉圭回合的幫助,我有一些想法,我會讓你知道一旦我完成 – shanish 2012-03-27 13:26:02

1
var dataObj = $(data) 
$('#staffInCharge').append(dataObj); 

$("#crossMark").bind('click', function() { dataObj.remove();}); 

多次入境看到小提琴:

http://jsfiddle.net/QMx8y/9/

+0

感謝gabitzish,其做工精細的div中單個條目,但對於如果有多個記錄,則刪除所有記錄 – shanish 2012-04-03 06:24:10

+0

要將每個數據條目與不同的crossMark關聯? – gabitzish 2012-04-03 06:38:12

+0

當然是... – shanish 2012-04-03 08:26:17

1

,你可以做到這一點像: - 這只是一般的想法: -

jQuery("#remove").removeAttr("disabled"); 
jQuery('#mainField').find('tr:last').prev().remove(); 
jQuery('#mainField').find('tr:last').prev().remove(); 

處理類

+0

感謝Neeraj Swarnkar,我會嘗試 – shanish 2012-04-03 06:24:36

1

刪除的數據,你可以做這樣的: 給一些類或類似 DIV的ID,如果你隱藏了一些鏈接,點擊喜歡

<div class='hideme'></div> 
<a id='clickme'>clickme</a> 

$(document).ready(function(){ 
    $('#clickme').click(function(){ 
    $('.hideme').css({'display':'none'}); 
    }) 
}) 
+0

謝謝Gopal我會嘗試 – shanish 2012-04-21 04:23:51