2010-08-30 21 views
24

के बाद नया कैसे संलग्न करें मेरे पास निम्न तालिका संरचना है।वर्तमान <tr>

<table> 
    <tr> 
     <td><a href="#"></td> 
    </tr> 
</table> 

जब मैं <a> पर क्लिक करें मैं <tr> जिनमें से <a> क्लिक किया जाता है करने के लिए नए <tr> अगले चाहते हैं।

तो परिणाम होगा:

<table> 
    <tr> 
     <td><a href="#"></td> 
    </tr> 
    <tr> 
     <td><a href="#"></td> 
    </tr> 
</table> 

उत्तर

44

उदाहरण:

$('a').bind('click', function(){ 
    $('<tr><td>new td</td></tr>').insertAfter($(this).closest('tr')); 
}); 

आप एक क्लोन उपयोग बनाना चाहते हैं:

$('a').live('click', function(){ 
    var $this  = $(this), 
     $parentTR = $this.closest('tr'); 

    $parentTR.clone().insertAfter($parentTR); 
}); 

उदाहरण लिंक: http://www.jsfiddle.net/7A6MQ/

मूल रूप से , आप tr element (जिसमें बाल नोड्स शामिल हैं) से एक प्रतिलिपि बनाते हैं और उस तत्व के बाद उस प्रति को सम्मिलित करते हैं। इसलिए, आपको .live बाध्यकारी की आवश्यकता है ताकि यह सुनिश्चित किया जा सके कि नव निर्मित a तत्व उस हैंडलर पर क्लिक भी करते हैं।

रेफरी .: .clone(), .insertAfter(), .live()

+0

JANDY - आप की जरूरत नहीं है '.live()' अपने दूसरे उदाहरण के लिए। बस '.clone (true)' करें, और यह सभी संबंधित डेटा भी क्लोन करता है। http://www.jsfiddle.net/7A6MQ/1/ – user113716

5

इसके अलावा, आप लिख सकते हैं:

$('a').bind('click', function() { 
    $(this).closest('tr').after('<tr><td>new td<td></tr>'); 
}); 

इतना ज्यादा अंतर लेकिन अधिक पठनीय लग रहा है।

1

यहां कोड है। अगर कोई समस्या है तो कृपया जांचें और मुझे बताएं।

function AddRaw(obj){ 
var $this  = obj; 
$parentTR = $this.closest('tr'); 
$parentTR.clone().insertAfter($parentTR); 
} 
+0

फ़ंक्शन RemoveRaw (obj) { \t //alert(obj.parent()। parent()। html()); \t यदि (obj.closest ('tr') [0] .rowIndex == 0) { \t चेतावनी ("इस कच्चे को हटा नहीं सकता"); \t} अन्य { \t obj.parent()। अभिभावक()। निकालें(); \t} } –

+0

$ (document) .ready (function() { \t $ ("# प्रस्तुत") पर क्लिक करें (function() { \t \t // चेतावनी ("हाय");। \t \t वर लेन । = $ ("# DataTable टीआर") लंबाई; \t \t वर डेटा = ""; { \t \t \t वर oneTD = $ ( \t (; मैं लेन

+0

<इनपुट ऑनक्लिक = "AddRaw ($ (यह));" टाइप = "बटन" वैल्यू = "एडीडी"> <इनपुट ऑनक्लिक = 'निकालें ($ (यह));' टाइप = 'बटन' वैल्यू = 'रिमूव'> –

संबंधित मुद्दे

 संबंधित मुद्दे