单击按钮文本更改循环按钮

问题描述 投票:0回答:2

当用户点击“接收者列表”按钮时,按钮文本应更改为“正在加载...”。按钮位于For循环中。我猜id属性方法不起作用。逻辑是当用户点击“接收者列表”按钮时,该按钮将变为“正在加载...”并加载它所到达的页面。

@foreach($groups as $group)
  <div class="col-lg-4 col-md-6 col-sm-6">
    <div class="card card-stats">
      <div class="card-header card-header-success card-header-icon">
         <div class="card-icon">
            <i class="material-icons">store</i>
         </div>
         <a class="btn btn-info p-2" href="{{action('ReceiverController@index', $group)}}">
           <i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i>
               Receiver List
         </a>
      </div>                                    
    </div>
  </div>
javascript onclick buttonclick
2个回答
0
投票

假设p-2类对于这些按钮是唯一的,这应该足够简单:

$(document).on('click', '.p-2', function(){
    let html = `<i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i>
           Loading...`
    $(this).html(html);
});

如果p-2不是唯一的,那么只需添加一些其他唯一的类名。

或者没有jquery:

function load(){
     let html = `<i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i>
           Loading...`
    this.innerHTML = html;
}
document.getElementsByClassName('.p-2').addEventListener("click", load);

1
投票

只需使用javascript的内联onclick事件:

<a class="btn btn-info p-2" onclick="this.innerHTML='loading...'" href="{{ action('ReceiverController@index', $group) }}">
    <i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i>
    Receiver List
</a>

如果你想要按钮图标:

<a class="btn btn-info p-2" onclick="clickfunc(this)" href="{{ action('ReceiverController@index', $group) }}">
    <i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i>
    Receiver List
</a>

<script>
clickfunc = function(obj) {
    obj.innerHTML = '<i class="fa fa-list-ol" style="height:55px; width:30px;" aria-hidden="true"></i> loading...';
}
</script>
© www.soinside.com 2019 - 2024. All rights reserved.