2010-01-05 5 views
14

मुझे इस प्लगइन से प्यार है लेकिन वास्तविकता यह है कि ज्यादातर लोगों को पहले एहसास नहीं होगा कि वे संपादित करने के लिए टेक्स्ट पर क्लिक कर सकते हैं।JQuery JEditable - एक दृश्यमान मुझे बटन कैसे संपादित करें?

आदर्श रूप से, टेक्स्ट के बगल में एक बटन या एक साधारण [संपादित करें] लिंक जोड़ना अच्छा होगा जो उपयोगकर्ता स्पष्ट रूप से देखता है लेकिन कभी भी AJAX के माध्यम से सबमिट नहीं होता है।

कोई विचार?

+0

http://www.appelsiini.net/projects/jeditable प्लगइन का लिंक है, एफवाईआई। –

उत्तर

12

बस बटन जो jEditable क्षेत्र पर क्लिक करता है करने के लिए एक घटना जोड़ें:

<span class="jeditable">jEditable field</span> 
<input type="button" class="jeditable-activate" value="Edit me!" /> 

और jQuery में:

$('.jeditable-activate').click(function() { 
    $(this).prev().click(); 
}); 

कि यह करना चाहिए। आखिरकार, यह वही बात है जैसे उपयोगकर्ता तत्व पर क्लिक कर रहा है।

+1

यह है! मैंने $ (यह) जोड़ा। हाइड(); कार्य करने के लिए इसे छिपाने के लिए और उसके बाद onBlur का उपयोग इसे फिर से दिखाने के लिए: onBlur: समारोह (मूल्य, सेटिंग्स) { \t \t \t \t \t $ (इस) .next() शो();। \t \t \t \t}, धन्यवाद! – Sam3k

+0

यह चालाक है :) खुशी है कि मैं मदद कर सकता हूं। –

3

सैम 3k की टिप्पणी उपयोगी है, लेकिन सही नहीं है। संपादन संपादन फ़ील्ड/बटन छिपाने से पहले संपादन बटन को फिर से दिखाना पड़ता है। इसे हल करने के लिए, मैंने इसके बजाय एक कस्टम ऑन कैंसल इवेंट जोड़ा।

तब मैं jquery.jeditable.js में 2 स्थानों में निम्न कोड कहा:

पहले ({} यानी onCancel): नई घटना के लिए $ .fn.editable.defaults करने के लिए डिफ़ॉल्ट जोड़ा (1) भागने से मारने पर, और (2) रद्द बटन दबाकर।

if ($.isFunction(settings.oncancel)) { settings.oncancel.apply(self); } 

यही है।

$("#emailRow span").editable(url, { 
     type: 'text', 
     cancel: 'Cancel', 
     submit: 'OK', 
     onCancel: function() { 
      $("#emailEditLink").show(); 
     } 
    }); 
+0

सेटिंग्स को बदलने के लिए मुझे ईवेंट को भी जोड़ना पड़ा था .onblur == 'रद्द करें' – Josh

3

"संपादन" लिंक के लिए, आप का उपयोग

<a href="#" onclick="$('.editable_textarea').trigger('click');>edit</a> 
0

आप विकल्प जोड़ सकते कर सकते हैं सबमिट बटन पर दिखाने के लिए jeditable को

$('#editable_field).editable(url..., 
{//options 
     type: 'text', 
     width: 230, /*input field width*/ 
     style: 'display: inline-block;width:260px', /*form width including input*/ 
     submit: '<span class="inlineEditSave"><img src="/beta/resource/images/icon/icon_save_check.png"/</span>',      
... 

प्रस्तुत आइकन बचाने के लिए किया जाएगा के साथ अवधि जेडटेबल फॉर्म में जोड़ा गया

0

जेडटेबल 1.6.0 onblur में एक फ़ंक्शन हो सकता है:

  } else if ($.isFunction(settings.onblur)) { 
       input.blur(function(e) { 
        settings.onblur.apply(self, [input.val(), settings]); 
       }); 
      } else { 

तो तुम अगर आप उपयोगकर्ता या तो क्लिक संपादित क्षेत्र से बाहर एक कॉलबैक के रूप में है कि समारोह सेट जब संपादित को छिपाने के लिए, यदि आप इसे छिपाने के लिए केवल जब उपयोगकर्ता प्रेस रद्द चाहते हैं तो onreset सेटिंग सेट कॉलबैक के साथ

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