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

Kan*_*nav 9 html javascript jquery drop-down-menu polymer

我正在使用聚合物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>
Run Code Online (Sandbox Code Playgroud)

我尝试使用此代码获取价值:

$("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
})
Run Code Online (Sandbox Code Playgroud)

但它没有给我下拉的价值.怎么做到的?

Dav*_*las 21

在Polymer 1.0中,您可以使用on-iron-select属性paper-dropdown-menu.例如:

<paper-dropdown-menu label="Color" class="text-color-labels" on-iron-select="_itemSelected">
Run Code Online (Sandbox Code Playgroud)

聚合物功能:

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

  • 不要使用selectedItem,更喜欢使用var selectedId = e.target.selected; (3认同)