【问题标题】:Generate a html button from a javascript array从 javascript 数组生成 html 按钮
【发布时间】:2015-04-21 11:38:42
【问题描述】:

我正在为这里的逻辑而苦苦挣扎,希望有人能提供帮助。我循环遍历列表数组,然后遍历其中的跟随者数组。然后我检查用户变量是否在这个跟随者数组中。问题是我想在用户在数组中时生成一个取消关注按钮,在他们不在时生成一个关注按钮。

现在发生的情况是,当追随者数组具有多个值时,循环将返回通过它并在一个 div 中同时提供 FOLLOW 和 UNFOLLOW 按钮。

我不确定我的逻辑是否错误或语法错误。

var user ='b';

lists = [
      username: 'pat',
      password: '***',
      followers: ['a','b','c']

    ];
     <% for (var i = 0; i < lists.length; i++) { %>
            <div class="col-xs-4 panel">

        <% for (var j = 0; j < lists[i].followers.length; j++) {%>

            <% if (lists[i].followers[j] == userId) { %>

              <button>Unfollow</button>



              <% } else { %>

                <button>FOLLOW</button>

              <% } %>

        <% } %>

    </div>  
     <% } %>

【问题讨论】:

    标签: javascript arrays loops ejs


    【解决方案1】:

    根据您的评论,我认为这就是您想要的:

    var user ='b';
    
    lists = [
          username: 'pat',
          password: '***',
          followers: ['a','b','c']
    
        ];
         <% for (var i = 0; i < lists.length; i++) { %>
                <div class="col-xs-4 panel">
    
            <% for (var j = 0; j < lists[i].followers.length; j++) {%>
    
                <% var found = false;
                   if (lists[i].followers[j] == userId) { 
                %>
    
                  <button>Unfollow</button>
    
    
    
                  <% found = true;
                     break;
                  }
               }
               if (!found) { %>
                  <button>FOLLOW</button>
    
            <% } %>
        </div>  
         <% } %>
    

    【讨论】:

    • 我只需要一个按钮,这取决于用户是否在数组中。因为它正在为跟随者数组的每个索引生成一个按钮。我尝试移动关闭的 div,但没有达到预期的效果。让我觉得我的逻辑不对。
    • 好的,我明白你要做什么了。我会继续努力,因为它正在崩溃,我知道我的逻辑需要更多的工作。
    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 2013-02-16
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多