亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

搜索時刪除前置用戶

搜索時刪除前置用戶

呼如林 2021-12-12 09:58:47
我有兩個列表,我添加了 jQuery 過濾器來搜索用戶。此外,一旦您單擊用戶,它就會從一個列表中刪除并添加到另一個列表中。一切正常,但是當我搜索附加用戶無法正常工作的列表時,我遇到了一個問題。假設我從第一個列表中刪除了“Denis”,然后將其附加到第二個列表中。當我搜索第二個列表時,即使我搜索不同的東西,“Denis”也一直可見。$('.list div').click(function() {  const $list = $(this).closest('.list');  const $targetList = $('.list').not($list);  const $user = $(this);  // Remove user from one list and add it to another  $($user).prependTo($targetList);  // Animate user   $($user).css({    'border': '3px solid rgba(74, 144, 226, .5)'  });  return setTimeout((function() {    $($user).css({      'border': '3px solid #ffffff'    });  }), 1000);});const filterThroughUsers = (input, listItems) => $(input).on('keyup', function() {  const value = this.value.toLowerCase().trim();  $(listItems).show().filter(function() {    return $(this).text().toLowerCase().trim().indexOf(value) === -1;  }).hide();});const $groupMembersSearch = $('input.search-group-members');const $groupMembersItems = $('.group-members div');const $allUsersSearch = $('input.search-all-users');const $allUsersItems = $('.all-users div');// Filter through group membersfilterThroughUsers($groupMembersSearch, $groupMembersItems);// Filter through all usersfilterThroughUsers($allUsersSearch, $allUsersItems);.container {  display: flex;  justify-content: space-between;  .left,  .right {    flex-basis: 45%;    border: 1px solid gray;    padding: 20px;    input {      width: 100%;      padding: 5px 16px;      margin-bottom: 30px;    }    div {      border: 3px solid #FFF;    }  }}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><div class="container">  <div class="left">    <input type="search" placeholder='Search group members' class="search-group-members">    <div class="group-members list">      <div>Denis</div>      <div>John</div>      <div>Simon</div>      <div>Elton</div>      <div>Amelia</div>    </div>  </div>
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

分配搜索列表內部按鍵回調函數而不是外部。


$('.list div').click(function() {

  const $list = $(this).closest('.list');

  const $targetList = $('.list').not($list);

  const $user = $(this);

  // Remove user from one list and add it to another

  $($user).prependTo($targetList);

  // Animate user 

  $($user).css({

    'border': '3px solid rgba(74, 144, 226, .5)'

  });

  return setTimeout((function() {

    $($user).css({

      'border': '3px solid #ffffff'

    });

  }), 1000);

});


const filterThroughUsers = (input, items) => $(input).on('keyup', function() {

  const listItems = items == 'user' ? $('.all-users div') : $('.group-members div');

  const value = this.value.toLowerCase().trim();

  $(listItems).show().filter(function() {

    return $(this).text().toLowerCase().trim().indexOf(value) === -1;

  }).hide();

});


const $groupMembersSearch = $('input.search-group-members');

const $allUsersSearch = $('input.search-all-users');



// Filter through group members

filterThroughUsers($groupMembersSearch, 'member');

// Filter through all users

filterThroughUsers($allUsersSearch, 'user');

.container {

  display: flex;

  justify-content: space-between;

  .left,

  .right {

    flex-basis: 45%;

    border: 1px solid gray;

    padding: 20px;

    input {

      width: 100%;

      padding: 5px 16px;

      margin-bottom: 30px;

    }

    div {

      border: 3px solid #FFF;

    }

  }

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="container">

  <div class="left">

    <input type="search" placeholder='Search group members' class="search-group-members">

    <div class="group-members list">

      <div>Denis</div>

      <div>John</div>

      <div>Simon</div>

      <div>Elton</div>

      <div>Amelia</div>

    </div>

  </div>

  <div class="right">

    <input type="search" placeholder='Search all users' class="search-all-users">

    <div class="all-users list">

      <div>Samantha</div>

      <div>Emily</div>

      <div>Frank</div>

      <div>Justin</div>

      <div>Roberto</div>

      <div>Rogelio</div>

      <div>Amber</div>

    </div>

  </div>

</div>


查看完整回答
反對 回復 2021-12-12
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號