在更改事件上同步两个纸张输入的值
Synchronize values of two paper-inputs on change event
我在HTML页面上有一个聚合物paper-input
元素(以及其他Web组件)。我需要侦听它的值变化并修改另一个 Web 组件的属性。为了简单起见,假设我需要两个同步输入。到目前为止,我有:
<paper-input id="fst" label="First" floatinglabel="First"></paper-input>
<paper-input id="snd" label="Second" floatinglabel="Second"></paper-input>
我希望它们的值一直同步。目前我使用以下代码来实现这一点:
document.addEventListener('polymer-ready', function() {
['#fst', '#snd'].forEach(function(el) {
document.querySelector(el).addEventListener("change", function(e) {
var value = document.querySelector(el).value;
// ⇓⇓⇓⇓⇓⇓⇓ in pseudocode: other element
document.querySelector(XOR(el)).setAttribute('value', value);
});
});
...
});
我绝对认为这很丑陋。我确信,有一个正确的方法来实现目标,但我没有谷歌它,我完全被困住了。我想observes
应该做这个伎俩,但我根本想不通。
由于某种原因,使用绑定变量的明显代码不起作用:
<paper-input id="fst" label="First" floatinglabel="First" value="{{ value }}">
</paper-input>
<paper-input id="snd" label="Second" floatinglabel="Second" value="{{ value }}">
</paper-input>
提前谢谢。
您可以使用声明式方法,只需使用类似
<template is="auto-binding">
<paper-input id="fst" label="First" floatinglabel="First" value="{{value}}"></paper-input>
<paper-input id="snd" label="Second" floatinglabel="Second" value="{{value}}"></paper-input>
</template>
普伦克在行动中展示它
http://plnkr.co/edit/3cxdOYKciKRBzROHQzgM?p=preview
编辑:更新答案以反映在自定义元素之外使用声明性绑定需要自动绑定模板。 此外,值得注意的是,在触发模板绑定事件之前,无法访问自动绑定模板中的元素。
相关文章:
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- javascript:无法添加两个文本输入
- 敲除:如何对两个数字输入进行双向绑定
- 将两个隐藏输入与简单的 JavaScript 进行比较失败
- 如何使用jquery数据比较两个前后输入值
- 使用jquery可交换地更改两个html输入表单值
- 在AJAX中获取两个动态输入的值
- 使用 jquery 控制两个选择输入的组合值
- 试图理解一个在JS中有两个参数输入的函数(如函数X(param1)(param2))
- 如何放置日期范围从周选择器用于两个文本输入
- HTML - 两个带有“输入”键的表单,以了解我正在输入的表单
- 在javascript中找到差异btw两个时间输入
- 在更改事件上同步两个纸张输入的值
- 如何使用 jQuery 比较两个文本输入类型框值
- 如何在两个Liferay输入编辑器之间传输html
- 尝试关联两个获得输入值的集合
- 两个文件输入表单中的文件值相同
- 限制为每秒两个键盘输入
- javascript表示两个不同输入之间的时间
- 使用jQuery对两个文本输入的值求和