首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击“选择选项”时更改显示类

如何在单击“选择选项”时更改显示类
EN

Stack Overflow用户
提问于 2022-04-25 14:16:20
回答 3查看 40关注 0票数 0
代码语言:javascript
复制
<div class="crypto-opt-container mt-md-5">
  <label">Which Crypto would you like to Deposit with?</label>
  <div class="dropdown w-100">
    <select class="form-select p-2 deposit-dropdown" aria-label="Default select example">
      <option selected>Choose Crypto Option:</option>
      <option value="1">Bitcoin</option>
      <option value="2">Ethereum</option>
      <option value="3">USDT</option>
    </select>
  </div>
</div>

<div class="depo-add-container mt-md-5">
  <label>Deposit Address:</label>
  <div class="d-flex flex-row justify-content-between">
    <p class="mb-0 me-1 py-2 ps-4 add-text1" id="p1"> ygwbfewilskfhnewisfklnewiofjfhjky </p>
    <p class="mb-0 me-1 py-2 ps-4 add-text2" id="p2"> ygwbfewilskfhnewisfklnewiofjfhrrt </p>
    <p class="mb-0 me-1 py-2 ps-4 add-text3" id="p3"> ygwbfewilskfhnewisfklnewiofewfygi </p>                                
    <button class="btn-primary w-20 px-3 copy-btn" onclick="copyToClipboard('#p1')">
      Copy
      <i class="fa-regular fa-copy ps-2"></i>
    </button>
  </div>
</div>
代码语言:javascript
复制
.add-text2, .add-text3{
   display: none;
}

说明:

我希望p.add-text(1,2和3)将显示从none切换到block,根据option,用户单击的方式是,如果单击<option value="1">Bitcoin</option>,则该<p class="mb-0 me-1 py-2 ps-4 add-text1" id="p1">ygwbfewilskfhnewisfklnewiofjfhjky</p>将是display: block等等。

本质上,option values= "1,2,3"只应该分别显示p.add-text1,2,3

Javascript只回答请!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-04-25 14:41:17

这肯定会对你有帮助:)

代码语言:javascript
复制
let value = 0;
let selectBtn = document.querySelector('select');
let p1 = document.querySelector('#p1');
let p2 = document.querySelector('#p2');
let p3 = document.querySelector('#p3');
selectBtn.addEventListener('change', () => {
  if (selectBtn.value == 1) {

    p1.classList.remove('add-text1');
    p2.classList.add('add-text2');
    p3.classList.add('add-text3');
  } else if (selectBtn.value == 2) {
    p1.classList.add('add-text1');
    p2.classList.remove('add-text2');
    p3.classList.add('add-text3');
  } else if ( selectBtn.value == 3 ) {
    p1.classList.add('add-text1');
    p2.classList.add('add-text2');
    p3.classList.remove('add-text3');
  }
})
代码语言:javascript
复制
.add-text1, .add-text2, .add-text3{
              display: none;
       }
代码语言:javascript
复制
  <div class="crypto-opt-container mt-md-5">
                          <label">Which Crypto would you like to Deposit with?</label>
                          <div class="dropdown w-100">
                            <select class="form-select p-2 deposit-dropdown" aria-label="Default select example">
                              <option selected>Choose Crypto Option:</option>
                              <option value="1">Bitcoin</option>
                              <option value="2">Ethereum</option>
                              <option value="3">USDT</option>
                            </select>
                          </div>
                        </div>

                        <div class="depo-add-container mt-md-5">
                          <label>Deposit Address:</label>
                          <div class="d-flex flex-row justify-content-between">
                            <p class="mb-0 me-1 py-2 ps-4 add-text1" id="p1">ygwbfewilskfhnewisfklnewiofjfhjky</p>
                            <p class="mb-0 me-1 py-2 ps-4 add-text2" id="p2">ygwbfewilskfhnewisfklnewiofjfhrrt</p>
                            <p class="mb-0 me-1 py-2 ps-4 add-text3" id="p3">ygwbfewilskfhnewisfklnewiofewfygi</p>                                
                            <button class="btn-primary w-20 px-3 copy-btn" onclick="copyToClipboard('#p1')">Copy<i class="fa-regular fa-copy ps-2"></i></button>
                          </div>
                        </div>

票数 1
EN

Stack Overflow用户

发布于 2022-04-25 14:29:13

您需要在javascript中使用onchange事件,如下所示:

代码语言:javascript
复制
function change(selected) {
  document.querySelector('p.add-text' + selected.value).display = 'block'
}

并在html中添加以选择onchange="change(this)“或添加带有js的事件侦听器

票数 0
EN

Stack Overflow用户

发布于 2022-04-25 14:49:47

这边..。

代码语言:javascript
复制
const
  mySelect = document.querySelector('select[name="mySelect"]')
, p1_p2_p3 = document.querySelectorAll('#p1,#p2,#p3')
  ;
  
set_p1_p2_p3_on_mySelect()                    // on init page

mySelect.onchange = set_p1_p2_p3_on_mySelect  // for every change
  
function set_p1_p2_p3_on_mySelect()
  {
  let sel_id = 'p' + mySelect.value
  p1_p2_p3.forEach( p => p.classList.toggle('noDisplay', p.id !== sel_id ))
  }
代码语言:javascript
复制
.noDisplay { display: none; }
代码语言:javascript
复制
<select name="mySelect" >
  <option selected>Choose Crypto Option:</option>
  <option value="1">Bitcoin</option>
  <option value="2">Ethereum</option>
  <option value="3">USDT</option>
</select> 


 
<div>
  <p id="p1"> ygwbfewilskfhnewisfklnewiofjfhjky Bitcoin</p>
  <p id="p2"> ygwbfewilskfhnewisfklnewiofjfhrrt Ethereum </p>
  <p id="p3"> ygwbfewilskfhnewisfklnewiofewfygi USDT </p>                                
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72001008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档