需要按两次复选框以便onclick工作

时间:2018-03-28 20:50:52

标签: javascript html arraylist checkbox polymer

我有一个使用DOM重复的复选框:

<paper-listbox id="afgerondtitel">
      <paper-item id="check1">Afgerond</paper-item>
      <template is="dom-repeat" items="{{gerechten}}" count="[[num_box]]">
      <paper-item id="item_[[index]]"><paper-checkbox checked="{{item.checked}}" on-click="click"></paper-checkbox></paper-item>
      </template>
    </paper-listbox>

我尝试使用此函数从ArrayList中删除变量:

click(){
        for(var i = this.gerechten.length - 1; i >= 0; i--) {
          if(this.gerechten[i].checked) {
            this.gerechten.splice(i, 1);
          }
          }
      }

问题是需要按两次复选框(如此选中然后取消选中)以从列表中删除变量。

我想检查复选框,以便代码立即从列表中删除de variabele。

提前致谢!

1 个答案:

答案 0 :(得分:1)

实际上,它是在第一次点击时从阵列中删除的。但是您需要使用Polymer方式array.splice来进行可观察的更改,因此请使用:

 this.splice('gerechten', i, 1); // in order to observable changes in dom-repeat. 

而不是:

 this.gerechten.splice(i, 1);

对于对象和数组,您将始终需要以可观察的方式进行更改。查看此链接了解更多详情: https://www.polymer-project.org/2.0/docs/devguide/model-data#array-mutation

DEMO