2013-06-25 9 views
6

मेरे पास PHP/MySQL द्वारा उत्पन्न किए जा रहे एक पृष्ठ पर एकाधिक विस्तार/ढहने वाले बक्से हैं।divs को विस्तृत/संक्षिप्त करना

समस्या यह है कि, जब मैं एक बॉक्स का विस्तार करने के लिए एक लिंक पर क्लिक करता हूं, तो यह सभी बक्से फैलता है।

मैंने कक्षा के अंत में पोस्ट आईडी (<div class="postreplycontainer-POST_ID">) को जोड़ने के बारे में सोचा था, लेकिन मुझे यकीन नहीं है कि यह काम करेगा क्योंकि मुझे jQuery को बदलने का कोई तरीका पता लगाना होगा।

यहाँ एक काम कर उदाहरण है: http://jsfiddle.net/Draven/kUhkP/35/

ध्यान रखें, मैं मैन्युअल रूप से प्रत्येक बॉक्स में कोड नहीं है क्योंकि मैं डेटाबेस से सामग्री खींच रहा हूँ कर सकते हैं।

संपादित करें: शायद कोई मुझे अतिरिक्त समस्या के साथ मदद कर सकता है।

मैं <div> का विस्तार करते समय textarea बॉक्स पर ध्यान केंद्रित करना चाहता हूं। मैंने पहले की तरह एक ही चाल का उपयोग करने की कोशिश की (.closest का उपयोग कर लेकिन यह काम नहीं किया)।

यहाँ उदाहरण है: http://jsfiddle.net/Draven/kUhkP/53/

यह उदाहरण हमेशा पहले <textarea> ध्यान दिया जाएगा।

+1

उत्तर देने वाले सभी को धन्यवाद! उन्होंने सभी काम किया लेकिन मैंने जवाब चुना जो div के बाद किसी भी टेबल पर भरोसा नहीं करता था। – Draven

उत्तर

9

यहाँ FIDDLE

$("a.postreply").click(function() { 
    $(this).closest('.blog-container') 
     .find('.postreplycontainer').slideToggle("fast"); 
}); 
है स्लाइड करने के लिए उपयोग कर सकते हैं
0

यदि आप $("div.postreplycontainer") फोन आप सभी divs का उपयोग करेंगे div एक मेज के बाद हमेशा होता है अगर आप

$("a.postreply").click(function() { 
    $(this).parents('table').next().slideToggle("fast"); 
}); 

कि div http://jsfiddle.net/kUhkP/39/

0

मुझे लगता है कि यह आपकी समस्या के लिए ठीक होना चाहिए।

$("a.postreply").click(function() { 
    $(this).closest('.blog-table').next().slideToggle("fast"); 
});