2014-07-23 12 views
5

मैं पॉलिमर प्रोजेक्ट से पेपर एलिमेंट्स का उपयोग फॉर्म बनाने के लिए कर रहा हूं, और paper-radio-group टैग और उसके बच्चों, paper-radio-button का उपयोग कर समस्या में भाग लिया है । रेडियो बटन समूहीकरण और myFieldName क्षेत्र के लिए एक एकल मान उत्पादन कि name गुण एक ही हैंपॉलिमर पेपर-रेडियो-ग्रुप - एक ही नाम के साथ कई रेडियो बटन कैसे हैं

<input type="radio" name="myFieldName" value="MyFirstOption" /> 
<input type="radio" name="myFieldName" value="MySecondOption" /> 
<input type="radio" name="myFieldName" value="MyThirdOption" /> 

ध्यान दें,: एक सामान्य रेडियो बटन सूची के साथ, मैं निम्नलिखित करना होगा। हालांकि एक ही तरीके से paper-radio-group तत्व का उपयोग काम नहीं करता:

<paper-radio-group label="My Field"> 
    <paper-radio-button name="myFieldName" label="First"></paper-radio-button> 
    <paper-radio-button name="myFieldName" label="Second"></paper-radio-button> 
    <paper-radio-button name="myFieldName" label="Third"></paper-radio-button> 
</paper-radio-group> 

इस तीन रेडियो बटन पैदा करता है, लेकिन का चयन एक दूसरों का चयन रद्द नहीं है। यदि मैं प्रत्येक को एक अद्वितीय नाम देता हूं तो यह यूआई परिप्रेक्ष्य से काम करता है, लेकिन मानक रेडियो बटन व्यवहार से अलग है।

इसके अलावा, मैं प्रत्येक रेडियो बटन के लिए मूल्य कहां निर्दिष्ट करूं? एक लेबल संपत्ति है, लेकिन मूल्य के लिए कुछ भी नहीं है। क्या मुझे paper-radio-button की change घटना, या ईवेंट paper-radio-group पर एक छिपे हुए फ़ील्ड को change पर तार करना होगा? न तो एक विशेष रूप से सुरुचिपूर्ण समाधान की तरह लगता है।

उत्तर

8

यह सवाल काफी पुराना है और शायद संपत्ति समय मौजूद नहीं था, लेकिन कम से कम अब एक दिन हम paper-radio-buttons में एक ही name विशेषता हो सकता है संबंधित हैं:

यहाँ एक छोटा सा उदाहरण है एक paper-radio-group अगर हम यहाँ मेरा उत्तर छोड़कर के रूप में इस हिट मैं whi प्राप्त था उदाहरण value

<paper-radio-group attr-for-selected="value"> 
    <paper-radio-button value="one" name="same_name">Label for one</paper-radio-button> 
    <paper-radio-button value="two" name="same_name">Label for two</paper-radio-button> 
</paper-radio-group> 

के लिए एक अलग attr-for-selectedpaper-radio-group में चयन ले googling और दूसरों के लिए मूल्य हो सकता है।

5

आप किसी भी जावास्क्रिप्ट लिखे बिना प्रपत्र इनपुट फ़ील्ड के लिए एक ड्रॉप में स्थानापन्न के रूप में कागज तत्वों का उपयोग करने की तुलना में मुझे लगता है कि आप नहीं कर सकते, क्योंकि वे स्टाइल divs से ज्यादा कुछ नहीं कर रहे हैं चाहते हैं।

नामपेपर-रेडियो-बटन का गुण इसकी कीमत है। वर्तमान में चयनित बटन पेपर-रेडियो-समूह का विशेषता है और एक तत्व संपत्ति के लिए बाध्य किया जा सकता है। फिर आप एक विशेषता वॉचर का उपयोग कर सकते हैं या जब आपको इसकी आवश्यकता हो तो इस मान तक पहुंच सकते हैं। यदि आप पेपर-रेडियो-समूहआईडी कहते हैं, रेडियो कहें, तो आप चयनित आइटम सीधे this.$.radio.selected के साथ भी प्राप्त कर सकते हैं।

<!DOCTYPE html> 
<html> 

<head> 
    <script src='http://www.polymer-project.org/components/platform/platform.js'></script> 
    <link rel='import' href='http://www.polymer-project.org/components/paper-radio-group/paper-radio-group.html'> 
</head> 

<body unresolved> 

    <polymer-element name="my-app"> 
    <template> 
     <paper-radio-group selected="{{selection}}"> 
     <paper-radio-button name="small" label="Small"></paper-radio-button> 
     <paper-radio-button name="medium" label="Medium"></paper-radio-button> 
     <paper-radio-button name="large" label="Large"></paper-radio-button> 
     </paper-radio-group> 
    </template> 
    <script> 
     Polymer('my-app', { 
     created: function() { 
      this.selection = "medium" 
     }, 
     selectionChanged: function() { 
      console.log(this.selection); 
     } 
     }); 
    </script> 
    </polymer-element> 

    <my-app></my-app> 

</body> 
</html> 
संबंधित मुद्दे