2014-11-28 2 views
0

У меня есть список элементов «card»; каждый из них имеет элемент ввода бумаги и элемент кнопки; каждый элемент принимает некоторые данные из внешнего JSON (в элементе my-post-service у меня есть встроенный ядро-ajax). Моя цель состоит в том, что, когда пользователь пишет что-то в текстовом поле и щелкает по относительной кнопке, информация конкретной карты и текста, вставленного пользователем, отправляется другой функции. Вот код этого полимерного элемента:Получить данные из нескольких полей ввода в полимере

<polymer-element name="template-list"> 
<template> 
    <my-post-service id="service" posts="{{posts}}" url="http://localhost:9111/v3/objects/templates"> 
    </my-post-service> 
    <div id="pcId" layout horizontal wrap> 
     <template repeat="{{post in posts}}"> 
      <my-post-card> 
       <img src="http://localhost:9111/v3/resources/{{post.representation[0].icon}}" width="70" height="70"> 
       <h2>{{post.name}}</h2> 
       <p>{{post.description}}</p> 
       <paper-input name="paper-input" id="paperInputId" inputValue="{{value}}" label="Insert new object name..." floatingLabel="false"></paper-input> 
       <add-object-button on-click="{{fetchName}}" template="{{post.name}}" name="{{objName}}"></add-object-button> 
      </my-post-card> 
     </template> 

    </div> 
    <style> 
     :host { 
      display: block; 
      width: 100%; 
     } 
     my-post-card { 
      margin-bottom: 30px; 
     } 
    </style> 
</template> 

<script> 

    var objName; 

    Polymer({ 
     fetchName: function() { 
      objName = this.$.pcId.querySelector('#paperInputId').value; 
     }, 
     get objName() { 
      return objName; 
     }, 
    }); 
</script> 

В тот момент, когда я нажимаю на какой-то кнопки, я всегда могу получить конкретные Infos карты (через атрибут шаблона), но я могу только извлекать текст из первого элемента ввода бумаги (одного из первой карты).

Ps Я новичок в полимере, поэтому, возможно, мне не хватает чего-то глупого!

ответ

0
objName = this.$.pcId.querySelectorAll('paper-input').value; 

Я думаю, это то, что вы ищете.

+0

Да, я уже пробовал ... но с querySelectorВсе это не работает (я получаю «неопределенное» значение из всего текстового поля) ... –

+0

сделал Plunker, чтобы показать, что я придумал. querySelectorAll получит все элементы, но не получит значения. поэтому вы можете получить массив элементов и проанализировать их и получить значение от каждого из них. http://plnkr.co/edit/u6shXfgMlUP3UykvLQr7?p=preview –

+0

Привет, jimi, я решил эту проблему переместить часть скрипта в шаблон (здесь код для двух элементов, если вы заинтересован: http://plnkr.co/edit/YXw34FlaKke5imdDi3om?p=preview). Спасибо за помощь. –

Смежные вопросы