2012-09-24 13 views
13

मैं एक नियमित simpleform रूपसरल प्रपत्र: क्या लेबल्स को निकालना संभव है और लेबल i18n का उपयोग करके प्लेसहोल्डर्स के साथ उन्हें बदलना संभव है?

= simple_form_for [:hq, @team, @order] do |f| 
    .tickets 
    = f.select :tickets, :aaa => "aaa" 
    = render "ticket" 


    .details 
    .left 
     = f.input :address1 
     = f.input :address2 
     = f.input :state 
     = f.input :country 
     = f.input :email 
    .right 
     = f.input :comments 

निर्माण करने के लिए कोशिश कर रहा हूँ लेकिन मैं आदानों, एक लेबल के साथ रेंडर नहीं किया जा करने के लिए सिर्फ शीर्षक "पता पंक्ति 1" प्लेसहोल्डर में चाहते हैं।

मुझे पता है कि मैं इसे f.input :address1, :placeholder => "whatever", :label => "" के साथ कर सकता हूं लेकिन मुझे यह एक रैपर के साथ कॉन्फ़िगर करने योग्य होना चाहिए और i18n मान फ़ॉर्म लेबल लेना, प्लेसहोल्डर नहीं।

$.each($(".left .input"), function() { 
    var label = $("label",$(this)).text(); 
    $("label",$(this)).hide(); 
    $("input",$(this)).attr("placeholder",label); 
}); 

इस मामले के लिए जे एस का उपयोग कर मुख्य लाभ यह है कि परिणाम स्क्रीन पाठकों शिकायत बनी हुई है (वे पढ़ा जाएगा:

+7

उपयोग: लेबल => झूठे और नहीं: लेबल => "", बाद अभी भी डोम में एक लेबल टैग उत्पन्न होगा। – mmvie

+0

मुझे लगता है [यह] [1] वह उत्तर है जिसे आप ढूंढ रहे हैं। [1]: http://stackoverflow.com/a/18199780/186145 – wspruijt

उत्तर

-2

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

+6

मैं इस से असहमत हैं। सरल रूप में और जावास्क्रिप्ट के बिना इसे पूरा करने के तरीके हैं। – Senjai

+0

@ सेंजई पुरानी टिप्पणी मुझे पता है, लेकिन क्या आप इसके बारे में अधिक जानकारी या लिंक में जा सकते हैं इसके बारे में आप इसे कैसे कर सकते हैं? – Huw

+1

माफी इस उपेक्षा को उपरोक्त डुप्लिकेट लिंक के माध्यम से अनदेखा करते हैं, [यहां] देखें (https://stackoverflow.com/questions/18077082/how-to-use-placehold-instead-of-labels-in-simple-form/18199780 # 18199780) – Huw

21

निम्न कार्य का प्रयास करें:

f.input :address1, placeholder: "Address Line 1", label: false