2016-07-06 7 views
0

ポリマー1.0の要素に問題があります。 ブックサイズ(A5、A4)のすべてのオプションを選択し、すべての選択に追加料金(この情報は_returnSelItemDataArrから返されたjs配列からのものです)内に印刷する必要があります。
配列データは、このようなものになります。ここでは enter image description here
ポリマー1.0選択タグに内部テンプレート(dom-repeat)がある場合の選択値

_returnSelItemDataArr: [array[id, name, extra], array[id, name, extra]]. 


をソースコードのビットがある:

<select id="sizeSelect" value="{{itm.id::change}}" aria-labelledby="sizeLabel"> 
              <template is="dom-repeat" items="{{_returnSelItemDataArr(item, 'sizes')}}" as="itm"> 
               <option value="{{index}}" selected$="[[_computeSelected(index, itm)]]">{{itm.name}} (+{{itm.extra}} lei)</option> 
              </template> 
     </select> 


Select compute function: 


    _computeSelected: function(index, itm) { 
      return index+1===parseInt(itm.id, 10); 
      }, 


私がしようとすると問題がありますこのコードで "#sizeSelect"から選択値を取得する:this.$.sizeSelect.value選択値のコンソール出力はundefinedです。 オプションにdom-repeatのポリマーを使用すると、選択値にアクセスすることが問題になるようです。 誰かが選択値に正しくアクセスする方法を知っていますか? 注:あなたが持っているだろう影-DOMの下でIDによって要素を選択するには
:私は「アイテム」は私の物であることを言及する必要があり、それが製品

回答に関するすべての情報を含むオブジェクトですこの演算子を使用する$$。私にとっては、このようなものだった:this.$$('#sizeSelect').value

+0

あなたの宣言されたプロパティは何ですか?あなたのバインディングは 'itm'が' select'と 'dom-repeat'のバインディングとして使われているので混乱していました。 'select'の値を' sizeIndex'のようなもので呼び出します。 – miyamoto

+0

なぜ 'Array'内部に' Object'が存在しないのですか?そして、itmの範囲が動作しない理由は 'itm'が定義されていない' dom-repeat'テンプレートの中にあるだけです。 – a1626

+0

私は、この選択クエリの正しい値を取得していたこの選択クエリを実行することによって問題を解決しました: 'this。$$( '#sizeSelect')。value'。 'shadow-dom'の中で何かを選んでいるなら、' $$ 'を使わなければならないことは分かりませんでした。 – Alexandru

答えて

0

回答: あなたはこの演算子$$を使用する必要があります影-DOMの下でIDによって要素を選択します。私にとっては、このようなものだった:this.$$('#sizeSelect').value

関連する問題