2010-04-01 21 views
7

मेरे पास एक सारणी है जिसमें ग्राहकों के नाम उनके साथ खरीदे गए उत्पादों के साथ हैं। तो प्रत्येक ग्राहक के लिए कई रिकॉर्ड हैं। यह तालिका सरल 3 कॉलम तालिका है: नाम, उत्पाद और मूल्य।jQuery के साथ तालिका के बीच पंक्तियों को जोड़ने के लिए कैसे?

मुझे क्या करना चाहते हैं:

(मैं इसे किया है) और बस के बाद इन पंक्तियों एक नया अतिरिक्त पंक्ति जो सिर्फ सभी उत्पादों की कुल कीमत पता चलेगा जोड़ने एक साथ एक ग्राहक से संबंधित सभी रिकॉर्ड रखो प्रत्येक ग्राहक ने खरीदा है। इस पंक्ति में नाम और उत्पाद कॉलम में खाली सेल होगा। और मूल्य कॉलम में कुल होगा।

संपादित

यह सिर्फ एक सादे सरल तालिका है किसी भी वर्ग या आईडी के बिना। ग्राहक के अनुसार समूहीकृत तालिका php द्वारा उत्पन्न होती है। तो मैं इस

<table> 
    <tr> 
     <td> name1 </td> 
     <td> product1 </td> 
     <td> 100 </td> 
    </tr> 
    <tr> 
     <td> name1 </td> 
     <td> product2 </td> 
     <td> 200 </td> 
    </tr> 
    <tr> 
     <td> name2 </td> 
     <td> product3 </td> 
     <td> 50 </td> 
    </tr> 
    <tr> 
     <td> name2 </td> 
     <td> product1 </td> 
     <td> 100 </td> 
    </tr> 
</table> 

की तरह एक मेज है और मैं करने के लिए इस परिवर्तित करना चाहते हैं:

<table> 
    <tr> 
     <td> name1 </td> 
     <td> product1 </td> 
     <td> 100 </td> 
    </tr> 
    <tr> 
     <td> name1 </td> 
     <td> product2 </td> 
     <td> 200 </td> 
    </tr> 
    <!-- New row --> 
    <tr> 
     <td> </td> 
     <td> </td> 
     <td> 300 </td> 
    </tr> 
    <tr> 
     <td> name2 </td> 
     <td> product3 </td> 
     <td> 50 </td> 
    </tr> 
    <tr> 
     <td> name2 </td> 
     <td> product1 </td> 
     <td> 100 </td> 
    </tr> 
    <!-- New row --> 
    <tr> 
     <td> </td> 
     <td> </td> 
     <td> 150 </td> 
    </tr> 
</table> 
+0

आप प्रत्येक ग्राहक के लिए पंक्तियों का निर्धारण कैसे कर रहे हैं? एक कक्षा? आईडी? यदि आपके पास कुछ पहचान योग्य है, तो उस पंक्ति को प्राप्त करना और इसके बाद डोम को संशोधित करना आसान होना चाहिए। – justkt

+0

क्या आप कुछ HTML कोड प्रदान कर सकते हैं? ताकि हम देख सकें कि आप कौन से वर्ग नाम तत्वों आदि देते हैं। –

उत्तर

8

jQuery का उपयोग करके आप उन सभी पंक्तियों का चयन कर सकते हैं जहां उपयोगकर्ता नाम इसके वंशज तत्वों में से एक के भीतर निहित है। मुझे लगता है कि उपयोगकर्ता नाम अद्वितीय हैं।

$("tr:contains('" + username + "')") 

अब, पिछले एक

$("tr:contains('" + username + "')").last() 

प्राप्त करें और अपने नई पंक्ति सम्मिलित करने के लिए after समारोह का उपयोग करें।

+0

ठीक है, मैं बिंदु देखता हूं। मैं नामों के आधार पर वर्ग जोड़ सकता हूं और अपनी चाल का उपयोग कर सकता हूं। लेकिन मुझे लगता है कि किसी भी तरह मुझे पहले सभी नामों की सूची मिलनी है। – understack

15
var prize = 1 * 1; 
    var newrow = $('<tr><td></td><td></td><td>' + prize + '</td></tr>'); 
    $('#rowid').after(newrow); 

या

newrow.insertAfter('#rowid'); 

जहां #rowid एक पंक्ति से एक आईडी है आप एक नई लाइन जोड़ना चाहते हैं।

+0

मैंने इस उत्तर का उपयोग किया। बहुत मददगार :) वैसे, क्या डालने को एनिमेट करने का कोई तरीका है? : डी – Obay