点击后如何选择正确的ID?

时间:2017-02-17 18:00:10

标签: javascript firebase ionic-framework firebase-realtime-database

我在列表中显示用户的照片,姓名等......然后我抓住了ID为“uid”的元素的值:

$scope.toUserView = function() {
  var uid = document.getElementById('userUID').textContent;
  console.log(uid);
  $state.go('tab.userview');

};

问题是无论我点击谁,我总是在页面列表中获得 FIRST 用户的引用,我想抓住 那个我点击。

我尝试在var的末尾添加.click(),但它不是函数。

有什么想法吗?

编辑:对应的HTML:

<ion-list class="item-border-off list-fav">
        <a  ><ion-item ng-click="toUserView()" ng-repeat="user in users" class="item-remove-animate item-avatar">
            <img ng-src="{{user.photoURL}}">
            <h2>
                {{user.name}}
            </h2>
            <p >{{user.description}}</p>
            <p id="userUID">{{user.uid}}</p>
            <!-- button options -->
            <ion-option-button>
                <i class="icon ion-ios-trash-outline"></i>
            </ion-option-button>
            <ion-option-button>
                <i class="icon ion-ios-chatbubble-outline"></i>
            </ion-option-button>
        </ion-item></a>
      </ion-list>

2 个答案:

答案 0 :(得分:1)

对应的HTML

     <a  ><ion-item ng-click="toUserView($index)" ng-repeat="user in users" class="item-remove-animate item-avatar">
                        <img ng-src="{{user.photoURL}}">
                        <h2 id={{user.uid}}>
                            {{user.name}}
                        </h2>
                        <p >{{user.description}}</p>
                        <p id="userUID{{$index}}">{{user.uid}}</p>
                        <!-- button options -->
                        <ion-option-button>
                            <i class="icon ion-ios-trash-outline"></i>
                        </ion-option-button>
                        <ion-option-button>
                            <i class="icon ion-ios-chatbubble-outline"></i>
                        </ion-option-button>
                    </ion-item></a>

JS

    $scope.toUserView = function(ind) {
      var uid = document.getElementById('userUID'+ind).textContent;
      console.log(uid);
      $state.go('tab.userview');

    };

答案 1 :(得分:1)

您好像在循环中重复<p id="userUID"></p>

根据定义,

id属性对于页面应该是唯一的。

document.getElementById('test')返回id属性设置为test的第一个元素。

您应该为您的ID添加一些独特的内容,或者使用class="userUID"代替。