需要访问MULTIPLE(可能的)选定选项

时间:2014-03-10 02:39:55

标签: listbox dart dart-polymer

我使用select& amp;在HTML中构建了一个“listBox”选项标签和单个选择 all在各自的PolymerElement中按预期工作。

但是,当我打开Multiple = true属性时启用多个选项 然后只有最顶层 selectIndex和value的期望值在option_selected()“Lifecycle”方法中传递给我。

我找到了多个涉及JQuery和JS的解决方案,但我尝试过的任何解决方案都没有 镖聚合物。 (我找到的直接JS解决方案无法成功访问变量。)

HTML / Polymer代码(在标记内)如下所示:

    <select  multiple=true style="width:250px;" selectedIndex="{{selected}}" value="{{value}}" size="8" on-click="{{option_selected}}" on-change="{{on_change}}" >           
       <option template repeat="{{dataEle in dataAr}}" > {{dataEle}} </option>
    </select>  

首选的解决方案是Dart或Polymer-Dart。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式获得所选值:

@observable var values = toObservable(<String>[]);


void on_change(event, details, Element target) {
  var el = (shadowRoot.querySelector('select') as SelectElement);

  var v = <String>[];
  el.options.forEach((o) => o.selected ? v.add(o.value) : null);
  values.clear();
  values.addAll(v);
}

只是为了在页面上显示所选的值

<template repeat="v in values">
  {{v}}
</template>