简体   繁体   English

折叠Bootstrap 4中的卡片表行时,更改Font Awesome图标

[英]Change Font Awesome icon when collapsing a card table row in Bootstrap 4

I'm having an issue with changing the font awesome icon when collapsing a row in card table. 折叠卡片表中的一行时,更改字体真棒图标时出现问题。

How can I create this with javascript? 如何使用javascript创建此文件? That, when, I click on a row the icon is changed for the item that is collapsed, and for the one that is open. 那就是说,当我单击一行时,折叠的项目和打开的项目的图标都会更改。

I have the following code: 我有以下代码:

Icon for opening : fas fa-chevron-down 开启图示: fas fa-chevron-down

Icon when the row is closed : fas fa-chevron-right 行关闭时的图标: fas fa-chevron-right

 <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Popper JS --> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script> <!-- Latest compiled JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> <div id="accordion"> <div class="card"> <div class="list-group-item" id="headingOne"> <h5 class="mb-0"> <label data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> <i class="fa fa-chevron-right"></i><label style="margin-left:20px;">Configure which userdata to show for voice interactions</label> </label> </h5> </div> <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion"> <div class="card-body"> <div class="card-block"> <li class="list-group-item"> <div> <div class="card-block"> <div class="card-header"> <div class="row"> <div class="col-md-3"><b>Label</b></div> <div class="col-md-3"><b>Userdata</b></div> <div class="col-md-6 text-right"> <button type="button" data-toggle="modal" data-target="#optionModal" class="btn btn-default btn-sm"><i class="fa fa-plus-circle"></i> <b>Optie</b> toevoegen</button> </div> </div> </div> <div> <ul class="list-group"> <li class="list-group-item d-flex justify-content-between align-items-center"> <div class="col-md-3"> Label sdlsdkfjsdlfksdj </div> <div class="col-md-3"> Userdata dflskdfjds </div> <div class="col-md-6 text-right"> <span><i class="fa fa-pencil-alt" style="font-size:20px;"></i></i></span> <span><i class="fa fa-trash-alt" style="font-size:20px; margin-left:20px;"></i></i></span> </div> </li> </ul> <ul class="list-group"> <li class="list-group-item d-flex justify-content-between align-items-center"> <div class="col-md-3"> Label sdlsdkfjsdlfksdj </div> <div class="col-md-3"> Userdata dflskdfjds </div> <div class="col-md-6 text-right"> <span><i class="fa fa-pencil-alt" style="font-size:20px;"></i></i></span> <span><i class="fa fa-trash-alt" style="font-size:20px; margin-left:20px;"></i></i></span> </div> </li> </ul> <ul class="list-group"> <li class="list-group-item d-flex justify-content-between align-items-center"> <div class="col-md-3"> Label sdlsdkfjsdlfksdj </div> <div class="col-md-3"> Userdata dflskdfjds </div> <div class="col-md-6 text-right"> <span><i class="fa fa-pencil-alt" style="font-size:20px;"></i></i></span> <span><i class="fa fa-trash-alt" style="font-size:20px; margin-left:20px;"></i></i></span> </div> </li> </ul> <ul class="list-group"> <li class="list-group-item d-flex justify-content-between align-items-center"> <div class="col-md-3"> Label sdlsdkfjsdlfksdj </div> <div class="col-md-3"> Userdata dflskdfjds </div> <div class="col-md-6 text-right"> <span><i class="fa fa-pencil-alt" style="font-size:20px;"></i></i></span> <span><i class="fa fa-trash-alt" style="font-size:20px; margin-left:20px;"></i></i></span> </div> </li> </ul> </div> </div> </div> </li> </div> </div> </div> </div> <div class="card"> <div class="list-group-item" id="headingTwo"> <h5 class="mb-0"> <label class="collapsed" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> <i class="fa fa-chevron-right"></i><label style="margin-left:20px;">Con</label> </label> </h5> </div> <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion"> <div class="card-body"> other item here ... </div> </div> </div> <div class="card"> <div class="list-group-item" id="headingThree"> <h5 class="mb-0"> <label class="collapsed" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> <i class="fa fa-chevron-right"></i><label style="margin-left:20px;">ctions</label> </label> </h5> </div> <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordion"> <div class="card-body"> other item here ... </div> </div> </div> </div> 

What I have to far : 我要做的是:

<script>

$(document).ready(function () {
    $('.collapse')
        .on('shown.bs.collapse', function(event) {
          event.stopPropagation();
          console.log("open");
            $(this)
                .parent().parent()
                .find(".fa-chevron-down")
                .removeClass("fa-chevron-down")
                .addClass("fa-chevron-right");
        }).on('hidden.bs.collapse', function(event) {
            console.log("closed");
         event.stopPropagation();
            $(this)
                .parent().parent()
                .find(".fa-chevron-right")
                .removeClass("fa-chevron-right")
                .addClass("fa-chevron-down");
        });
});

</script>

But it collapses for all the records, how to chance this for only the records that is open/closed. 但是它对于所有记录都崩溃了,如何仅对打开/关闭的记录进行处理。

You only need to go up 1 parent level... 您只需要上一级父级...

$(document).ready(function () {
    $('.collapse')
        .on('shown.bs.collapse', function(event) {
          event.stopPropagation();
          console.log("open");
            $(this)
                .parent()
                .find(".fa-chevron-down")
                .removeClass("fa-chevron-down")
                .addClass("fa-chevron-right");
        }).on('hidden.bs.collapse', function(event) {
            console.log("closed");
         event.stopPropagation();
            $(this)
                .parent()
                .find(".fa-chevron-right")
                .removeClass("fa-chevron-right")
                .addClass("fa-chevron-down");
        });
});

https://www.codeply.com/go/ePRWZuEK2K https://www.codeply.com/go/ePRWZuEK2K

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM