18910140161

html-如何使用JavaScript在单击选定的div时更改内容?-堆栈溢出

顺晟科技

2022-10-19 12:10:26

230

我是JavaScript新手。我希望在选择特定的div元素时更改div的内容。 如果我选择了一个div,则只会显示与该div内容关联的文本。我正在使用一个循环来显示内容。就像一个聊天应用程序。如果用户单击联系人,将显示与该用户关联的消息。我正在使用循环来显示消息和用户。

我尝试的是:

树枝代码:

    {% set msg = query().from('messages').get() %}
    {% set to_add =to_name %}
{% set to_details = query().from('users_users').where('id', to_add).get() %}
    <div class="container">
               <h3 class=" text-center">Messaging</h3>
<div class="messaging">
      <div class="inbox_msg">
        <div class="inbox_people">
          <div class="headind_srch">
            <div class="recent_heading">
              <h4>{{auth_user().first_name}}</h4>
            </div>
            <div class="srch_bar">
              <div class="stylish-input-group">
                <input type="text" class="search-bar"  placeholder="Search" >
                <span class="input-group-addon">
                <button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
                </span> </div>
            </div>
          </div>
          <div class="inbox_chat">
              {% set newArray = [] %}
              {% for msg in msg_details %}
              {% if msg.to_name not in newArray %}

             
            <div class="chat_list active_chat"  onclick=viewMessage(this)>
              <div class="chat_people">
                <div class="chat_img"> <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> </div>
                <div class="chat_ib">
                  <h5>{{msg.to_name}} <span class="chat_date">{{msg.time}}</span></h5>
                  
                </div>
              </div>

        </div>
        {% set newArray = newArray|merge([msg.to_name]) %}
            {% endif %}
            {% endfor %}

      </div>
    </div>
    <div class="mesgs">
      <div class="msg_history">
        <div class="incoming_msg">
            
          <div class="incoming_msg_img">
              <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> 
            </div>
          <div class="received_msg">
            <div class="received_withd_msg">
              <p>{{msg.message}}</p>
              <span class="time_date">{{msg.time}}</span></div>
          </div>
        </div>
        <div class="outgoing_msg">
          <div class="sent_msg">
            <p></p>
            <span class="time_date"></span> </div>
        </div>
        
       
        
      </div>
    
    </div>
  </div>
  
  

</div></div>

JavaScript代码:

    {% set msg = query().from('messages').get() %}
    {% set to_add =to_name %}
{% set to_details = query().from('users_users').where('id', to_add).get() %}
    <div class="container">
               <h3 class=" text-center">Messaging</h3>
<div class="messaging">
      <div class="inbox_msg">
        <div class="inbox_people">
          <div class="headind_srch">
            <div class="recent_heading">
              <h4>{{auth_user().first_name}}</h4>
            </div>
            <div class="srch_bar">
              <div class="stylish-input-group">
                <input type="text" class="search-bar"  placeholder="Search" >
                <span class="input-group-addon">
                <button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
                </span> </div>
            </div>
          </div>
          <div class="inbox_chat">
              {% set newArray = [] %}
              {% for msg in msg_details %}
              {% if msg.to_name not in newArray %}

             
            <div class="chat_list active_chat"  onclick=viewMessage(this)>
              <div class="chat_people">
                <div class="chat_img"> <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> </div>
                <div class="chat_ib">
                  <h5>{{msg.to_name}} <span class="chat_date">{{msg.time}}</span></h5>
                  
                </div>
              </div>

        </div>
        {% set newArray = newArray|merge([msg.to_name]) %}
            {% endif %}
            {% endfor %}

      </div>
    </div>
    <div class="mesgs">
      <div class="msg_history">
        <div class="incoming_msg">
            
          <div class="incoming_msg_img">
              <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> 
            </div>
          <div class="received_msg">
            <div class="received_withd_msg">
              <p>{{msg.message}}</p>
              <span class="time_date">{{msg.time}}</span></div>
          </div>
        </div>
        <div class="outgoing_msg">
          <div class="sent_msg">
            <p></p>
            <span class="time_date"></span> </div>
        </div>
        
       
        
      </div>
    
    </div>
  </div>
  
  

</div></div>

我的输出的样子

output

我的输出显示所有消息,我只想显示特定的用户消息。如何做到这一点?

我的表的外观:

table


顺晟科技:

首先,您必须使用类似于这样的查询从表中获取数据,以确保从每个表中获取一条记录。

    {% set msg = query().from('messages').get() %}
    {% set to_add =to_name %}
{% set to_details = query().from('users_users').where('id', to_add).get() %}
    <div class="container">
               <h3 class=" text-center">Messaging</h3>
<div class="messaging">
      <div class="inbox_msg">
        <div class="inbox_people">
          <div class="headind_srch">
            <div class="recent_heading">
              <h4>{{auth_user().first_name}}</h4>
            </div>
            <div class="srch_bar">
              <div class="stylish-input-group">
                <input type="text" class="search-bar"  placeholder="Search" >
                <span class="input-group-addon">
                <button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
                </span> </div>
            </div>
          </div>
          <div class="inbox_chat">
              {% set newArray = [] %}
              {% for msg in msg_details %}
              {% if msg.to_name not in newArray %}

             
            <div class="chat_list active_chat"  onclick=viewMessage(this)>
              <div class="chat_people">
                <div class="chat_img"> <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> </div>
                <div class="chat_ib">
                  <h5>{{msg.to_name}} <span class="chat_date">{{msg.time}}</span></h5>
                  
                </div>
              </div>

        </div>
        {% set newArray = newArray|merge([msg.to_name]) %}
            {% endif %}
            {% endfor %}

      </div>
    </div>
    <div class="mesgs">
      <div class="msg_history">
        <div class="incoming_msg">
            
          <div class="incoming_msg_img">
              <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> 
            </div>
          <div class="received_msg">
            <div class="received_withd_msg">
              <p>{{msg.message}}</p>
              <span class="time_date">{{msg.time}}</span></div>
          </div>
        </div>
        <div class="outgoing_msg">
          <div class="sent_msg">
            <p></p>
            <span class="time_date"></span> </div>
        </div>
        
       
        
      </div>
    
    </div>
  </div>
  
  

</div></div>

然后可以在twig中循环创建左侧元素,如

    {% set msg = query().from('messages').get() %}
    {% set to_add =to_name %}
{% set to_details = query().from('users_users').where('id', to_add).get() %}
    <div class="container">
               <h3 class=" text-center">Messaging</h3>
<div class="messaging">
      <div class="inbox_msg">
        <div class="inbox_people">
          <div class="headind_srch">
            <div class="recent_heading">
              <h4>{{auth_user().first_name}}</h4>
            </div>
            <div class="srch_bar">
              <div class="stylish-input-group">
                <input type="text" class="search-bar"  placeholder="Search" >
                <span class="input-group-addon">
                <button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
                </span> </div>
            </div>
          </div>
          <div class="inbox_chat">
              {% set newArray = [] %}
              {% for msg in msg_details %}
              {% if msg.to_name not in newArray %}

             
            <div class="chat_list active_chat"  onclick=viewMessage(this)>
              <div class="chat_people">
                <div class="chat_img"> <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> </div>
                <div class="chat_ib">
                  <h5>{{msg.to_name}} <span class="chat_date">{{msg.time}}</span></h5>
                  
                </div>
              </div>

        </div>
        {% set newArray = newArray|merge([msg.to_name]) %}
            {% endif %}
            {% endfor %}

      </div>
    </div>
    <div class="mesgs">
      <div class="msg_history">
        <div class="incoming_msg">
            
          <div class="incoming_msg_img">
              <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> 
            </div>
          <div class="received_msg">
            <div class="received_withd_msg">
              <p>{{msg.message}}</p>
              <span class="time_date">{{msg.time}}</span></div>
          </div>
        </div>
        <div class="outgoing_msg">
          <div class="sent_msg">
            <p></p>
            <span class="time_date"></span> </div>
        </div>
        
       
        
      </div>
    
    </div>
  </div>
  
  

</div></div>

然后在JavaScript中:-

    {% set msg = query().from('messages').get() %}
    {% set to_add =to_name %}
{% set to_details = query().from('users_users').where('id', to_add).get() %}
    <div class="container">
               <h3 class=" text-center">Messaging</h3>
<div class="messaging">
      <div class="inbox_msg">
        <div class="inbox_people">
          <div class="headind_srch">
            <div class="recent_heading">
              <h4>{{auth_user().first_name}}</h4>
            </div>
            <div class="srch_bar">
              <div class="stylish-input-group">
                <input type="text" class="search-bar"  placeholder="Search" >
                <span class="input-group-addon">
                <button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
                </span> </div>
            </div>
          </div>
          <div class="inbox_chat">
              {% set newArray = [] %}
              {% for msg in msg_details %}
              {% if msg.to_name not in newArray %}

             
            <div class="chat_list active_chat"  onclick=viewMessage(this)>
              <div class="chat_people">
                <div class="chat_img"> <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> </div>
                <div class="chat_ib">
                  <h5>{{msg.to_name}} <span class="chat_date">{{msg.time}}</span></h5>
                  
                </div>
              </div>

        </div>
        {% set newArray = newArray|merge([msg.to_name]) %}
            {% endif %}
            {% endfor %}

      </div>
    </div>
    <div class="mesgs">
      <div class="msg_history">
        <div class="incoming_msg">
            
          <div class="incoming_msg_img">
              <img src="https://ptetutorials.com/images/user-profile.png" alt="sunil"> 
            </div>
          <div class="received_msg">
            <div class="received_withd_msg">
              <p>{{msg.message}}</p>
              <span class="time_date">{{msg.time}}</span></div>
          </div>
        </div>
        <div class="outgoing_msg">
          <div class="sent_msg">
            <p></p>
            <span class="time_date"></span> </div>
        </div>
        
       
        
      </div>
    
    </div>
  </div>
  
  

</div></div>

注意:页面中必须有jQuery,才能运行Ajax函数。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航