2009-04-23 8 views
5

का उपयोग करके इनलाइन-एडिट फॉर्म को संभालने का अच्छा तरीका मेरे पास डीआईवी की श्रृंखला में प्रदर्शित होने वाली वस्तुओं की एक सूची है। जब कोई "संपादन" लिंक पर क्लिक करता है, तो मैं div को एक रूप से प्रतिस्थापित करना चाहता हूं जो उन्हें उस आइटम की सामग्री को अच्छी तरह से संपादित करने दे।रेल और jQuery

मैं इसे संभालने के आदर्श तरीके के बारे में सोचने की कोशिश कर रहा हूं। मैं इस सूची में हर आइटम के लिए एक छिपा संपादित प्रपत्र बना सकता हूँ, और यह प्रकट करने के लिए संपादित करें लिंक हुक, इस तरह:

<div> 
    <a href="#">edit</a> Item One 
    <div id="edit_1202" class="editform">Edit form goes here</div> 
</div> 
<div> 
    <a href="#">edit</a> Item Two 
    <div id="edit_2318" class="editform">Edit form goes here</div> 
</div> 

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

धन्यवाद!

उत्तर

6

एक जवाब के लिए सबसे छोटा रास्ता के रूप में इतनी बार मामला, रयान बेट्स 'Railscasts है, है। उनके पास using jQuery with Rails पर एक एपिसोड है। हालांकि वह इसे विशेष रूप से कवर नहीं करता है, लेकिन वह दिखाता है कि मूलभूत आधार से एक उचित सुरुचिपूर्ण समाधान तैयार किया जा सकता है।

मेरे मामले में, संपादन लिंक सर्वर पर AJAX अनुरोध भेजने के लिए ओवरराइड किया जाएगा, जो फ़ॉर्म संपादन कोड के साथ आंशिक बनाने के लिए जावास्क्रिप्ट देता है। आसान, एक बार जब आप जानते हैं कि कैसे!

2

मैं किसी प्रकार की प्लगइन का उपयोग करने का सुझाव दूंगा। यह एक सुंदर मानक विशेषता है, किसी चीज को क्यों दोबारा लिखा है? jeditable प्लगइन देखें।

आपकी टिप्पणी पढ़ने के बाद, हाँ। मैं संभवतः jQuery के साथ ऐसा करता हूं जैसा कि आप वर्णन करते हैं कि क्या आप सब कुछ एक बार में संपादन योग्य बनाना चाहते हैं। मुझे नहीं लगता कि मैंने एक प्लगइन देखा है जो एक समय में एक से अधिक फ़ील्ड को संभालता है।

+0

यह वही नहीं है जो मैं बिल्कुल ढूंढ रहा हूं। मैं सूची में आइटम इनलाइन संपादित नहीं करना चाहता, मैं पूरे आइटम के लिए एक पूर्ण संपादन फ़ॉर्म खोलना चाहता हूं, जिसमें ड्रॉप-डाउन, चेकबॉक्स और व्हाट्नॉट शामिल हो सकता है। उदाहरण के लिए http://backpackit.com देखें - एक नोट संपादित करें, और यह जगह में उचित संपादन फ़ॉर्म प्रदान करता है। –

2

मुझे लगता है कि यह है कि क्या आप के लिए देख रहे हैं: जगह प्लगइन

http://davehauenstein.com/code/jquery-edit-in-place/example/ http://code.google.com/p/jquery-in-place-editor/

मैं हाल ही में इसका इस्तेमाल किया में jQuery संपादित करें और यह जगह काम करता है। उपरोक्त पहले लिंक में उदाहरण देखें।

यदि वास्तव में आप जो खोज रहे हैं वह वास्तव में नहीं है, तो आप jquery AJAX लोड के साथ एक दूरस्थ पृष्ठ लोड करना चाहेंगे। फिर आप जो भी फॉर्म तत्व चाहते हैं उसे जोड़ सकेंगे।

http://docs.jquery.com/Ajax/load

$('.yourlinkid').click(function(){ 
    var id = $(this).attr('id'); 
    $("div#editThisDiv").load("/events/editAjax/" + id); 
}); 
संबंधित मुद्दे