2015-04-30 13 views
8

का चयनित मान प्राप्त करें मैं अपनी परियोजना के लिए ड्रॉपडाउन मेनू के रूप में बहुलक के paper-dropdown-menu का उपयोग कर रहा हूं। अब जब मैं उपयोगकर्ता ड्रॉपडाउन से कोई विकल्प चुनता हूं, तो मैं चयनित विकल्प का मूल्य प्राप्त करना चाहता हूं।पेपर-ड्रॉपडाउन-मेनू

यहाँ HTML संरचना

<paper-dropdown-menu label="Color" class="text-color-labels"> 
    <paper-dropdown class="dropdown"> 
     <core-menu class="menu" id="textColor"> 
      <paper-item value="#000000">Black</paper-item> 
      <paper-item value="#522A19">Dark Brown</paper-item> 
      <paper-item value="#7D331E">Light Brown</paper-item> 
      <paper-item value="#EDCCBA">Tan</paper-item> 
      <paper-item value="#B89325">Old Gold</paper-item> 
      <paper-item value="#B7A967">Vegas Gold</paper-item> 
      <paper-item value="#29753A">Kelly Green</paper-item> 
     </core-menu> 
    </paper-dropdown> 
</paper-dropdown-menu> 

मैं इस कोड का उपयोग मूल्य पाने की कोशिश की है:

$("body").on("core-select", ".text-color-labels", function(){ 
    var selectedItem = document.querySelector('#textColor').selectedItem; 
    var selectedColor = selectedItem.textContent; 
    console.log(selectedColor); //gives Black, Dark Brown, Light Brown etc 
}) 

लेकिन यह मुझे लटकती का मूल्य देता है नहीं करता है। उसे कैसे प्राप्त करें?

+0

तो 'कोर-select' अपने ढांचे से एक घटना है यह यह संभव होगा कि चयनित मान कॉलबैक फ़ंक्शन को पैरामीटर के रूप में पास कर देगा ?! – marcel

+0

यदि यह पुस्तकालय में सही [लिंक] (https://github.com/Polymer/core-selection/blob/master/core-selection.html#L121) है, तो ऐसा लगता है कि जब यह 'कोर-सिलेक्ट' घटना को निकाल दिया जाता है, यह इसके साथ 'आइटम' भी भेजता है: 'this.fire (" core-select ", {iseelected: isSelected, item: item});' –

+0

दस्तावेज़ पर पहली चीज़ जो मैंने पढ़ी है वह यह है कि आप एक्सेस कर सकते हैं चयनित आइटम 'detail.item' के साथ। जब कोई आइटम चुना गया था और अचयनित किया गया था तो ईवेंट को निकाल दिया जाएगा, इसलिए आपको उसे 'detail.is चयनित' – marcel

उत्तर

20

पॉलिमर 1.0 में आप paper-dropdown-menu में on-iron-select विशेषता का उपयोग कर सकते हैं।

<paper-dropdown-menu label="Color" class="text-color-labels" on-iron-select="_itemSelected"> 

पॉलिमर समारोह: उदाहरण के लिए:

_itemSelected : function(e) { 
    var selectedItem = e.target.selectedItem; 
    if (selectedItem) { 
     console.log("selected: " + selectedItem.innerText); 
    } 
    }, 
+1

चयनित इटैम का उपयोग न करें, var चयनितId = e.target.selected का उपयोग करना पसंद करें; – Dimitrii

0

अद्यतन अपने ईवेंट हैंडलर के रूप में इतना:

$("body").on("core-select", ".text-color-labels", function(e) { 
    var selectedItem = e.target.selected, 
     selectedColor = selectedItem.textContent; 
    console.log(selectedColor); //gives Black, Dark Brown, Light Brown etc 
}) 
0
<paper-dropdown-menu label="Color" class="text-color-labels" on-iron-select="_itemSelected"> 

चयनित आइटम मूल्य चाहते हैं:

_itemSelected : function(e) { 
    var selectedItem = e.target.selectedItem; 
    if (selectedItem) { 
     console.log("selected: " + selectedItem.value); 
    } 
}