【问题标题】:How to select the right Id when clicked?点击时如何选择正确的ID?
【发布时间】:2017-02-18 06:35:01
【问题描述】:

我在一个列表中显示用户,包括他们的照片、姓名等...然后我正在获取 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>

【问题讨论】:

  • 你也可以发布相应的HTML吗?
  • 你好,我刚刚添加了对应的HTML!
  • 您可以将user 传递给函数ng-click="toUserView(user)"
  • @Titus 打败了我! =) FrenchyNYC 看看这个答案:stackoverflow.com/questions/33566648/…
  • 大家好,我只想检索 user.uid 并将其存储在数据库中,您的解决方案听起来最好!你能告诉我用于整个语法的代码吗?由于出现错误,我已更新我的 HTML!

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


【解决方案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');

    };

【讨论】:

  • 谢谢!它就像一个魅力,现在我会看看我是否可以将它存储在数据库中!再次感谢!
【解决方案2】:

您似乎在循环中重复&lt;p id="userUID"&gt;&lt;/p&gt;

id 属性根据定义对于页面应该是唯一的。

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

您应该为您的 id 添加一些独特的东西,或者改用 class="userUID"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多