简体   繁体   English

获取纸张下拉菜单的选定值

[英]Get selected value of paper-dropdown-menu

I'm using polymer's paper-dropdown-menu as a dropdown menu for my project. 我正在使用聚合物的paper-dropdown-menu作为我项目的下拉菜单。 Now i want to get the value of selected option, when a user selects an option from the dropdown. 现在,当用户从下拉列表中选择一个选项时,我想获取所选选项的值。

Here's the HTML structure 这是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>

I tried to get value using this code: 我尝试使用此代码获取价值:

$("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
})

But it doesn't gives me the value of the dropdown. 但它没有给我下拉的价值。 How to get that? 怎么做到的?

In Polymer 1.0 you can use on-iron-select attribute in paper-dropdown-menu . 在Polymer 1.0中,您可以在paper-dropdown-menu使用on-iron-select属性。 For example: 例如:

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

Polymer function: 聚合物功能:

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

Update your event handler as so: 像这样更新事件处理程序:

$("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
})
<paper-dropdown-menu label="Color" class="text-color-labels" on-iron-select="_itemSelected">

If you want the selected item value: 如果您想要所选的项目值:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM