javascript - 更改具有相同功能的多个切换按钮标签之一 - polymer

标签 javascript html polymer

我有一堆纸质切换按钮,我想让标签显示其当前状态。

我可以通过一个按钮就足够简单地让它工作,但我想让它们指向一个函数,以便我的代码更干净。

我目前有这个代码,但是两者会同时切换??? 肯定是JS错了。

enter image description here

Polymer({
  is: 'example-element',
  properties: {
    labelText: {
      type: String,
      value: 'false'
    }
  },
  checkToggle: function(e) {
    var toggleButton = e.currentTarget.getAttribute('input');
    this.$$('#' + toggleButton).checked ? this.labelText = "True" : this.labelText = "False";
  },
});
<base href="https://polygit.org/polymer+polymer+v1.9.0/components/" />
<script src="webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="paper-toggle-button/paper-toggle-button.html" />

<example-element></example-element>

<dom-module id="example-element">
  <template>
    <paper-toggle-button input="paper-toggle1" id="paper-toggle1" on-click="checkToggle">{{labelText}}</paper-toggle-button>
    <paper-toggle-button input="paper-toggle2" id="paper-toggle2" on-click="checkToggle">{{labelText}}</paper-toggle-button>
  </template>
</dom-module>

最佳答案

为此没有必要使用自定义属性,您也可以直接更改 dom。这只是一种方法。

Polymer({
  is: 'example-element',
  properties: {
    labelText: {
      type: String,
      value: 'false'
    }
  },
  checkToggle: function(e) {
    e.currentTarget.querySelector(".label").innerHTML = e.currentTarget.checked == true;
  },
});
<base href="https://polygit.org/polymer+polymer+v1.9.0/components/" />
<script src="webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="paper-toggle-button/paper-toggle-button.html" />

<example-element></example-element>

<dom-module id="example-element">
  <template>
    <paper-toggle-button input="paper-toggle1" id="paper-toggle1" on-click="checkToggle"><span class="label">false</span></paper-toggle-button>
    <paper-toggle-button input="paper-toggle2" id="paper-toggle2" on-click="checkToggle"><span class="label">false</span></paper-toggle-button>
  </template>
</dom-module>

关于javascript - 更改具有相同功能的多个切换按钮标签之一 - polymer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45369726/

相关文章:

polymer - 重置页面之间滚动位置的最佳实践?

javascript - polymer - 结束绑定(bind)事件时 dom-repeat?

javascript - jQuery 加载图像并通过单击进行交换

javascript - 如何强制 IE 重新加载 javascript?

javascript - HTML - JavaScript 函数不处理 responseText

css - 如何在 Dart/Polymer 中隐藏卡片上的元素标签?

javascript - 使用javascript拆分字符串

javascript - React : Click text,动态附加表单并用它来重命名文本

css - (CSS-spanS-rowS) 如何将所有模块名称居中并使背景跨越整个页面宽度

php - 如何回显数据库中查询的结果?