【问题标题】:How to show a DIV (or another) based on a option selected in a dropdown menu [duplicate]如何根据下拉菜单中选择的选项显示 DIV(或其他)[重复]
【发布时间】:2020-01-22 10:04:03
【问题描述】:

我有一个下拉菜单,其中包含世界上所有州的列表。

对于欧盟以外的国家,我想在一个 div 中显示此消息“不包括额外的欧盟税和关税。您必须在交货时支付它们”。

另一方面,对于欧盟成员国,我想显示“无需支付进口关税”。

我创建了一个数组,其中包含属于欧盟成员国的所有值。但我不明白如何设置它来实现我的想法。

var european = ["Austria", "Belgium", "Bulgaria", "Croatia", "Cyprus", "Czechia", "Denmark", "Estonia", "Finland", "France", "Germany", "Greece", "Hungary", "Ireland", "Italy", "Latvia", "Lithuania", "Luxembourg", "Malta", "Netherlands", "Poland", "Portugal", "Romania", "Slovakia", "Slovenia", "Spain", "Sweden", "United Kingdom"]
<select size="1" autocomplete="shipping country" data-trekkie-id="shipping_country_field" data-backup="country" class="field__input field__input--select" aria-required="true" name="checkout[shipping_address][country]" id="checkout_shipping_address_country">
  <option data-code="DE" value="Germany">Deutschland</option>
  <option data-code="GB" value="United Kingdom">Vereinigtes Königreich</option>
  <option data-code="US" value="United States">Vereinigte Staaten</option>
  <option data-code="IT" selected="selected" value="Italy">Italien</option>
  <option data-code="EG" value="Egypt">Ägypten</option>
  <option data-code="GQ" value="Equatorial Guinea">Äquatorialguinea</option>
  <option data-code="ET" value="Ethiopia">Äthiopien</option>
  <option data-code="AF" value="Afghanistan">Afghanistan</option>
  <option data-code="AX" value="Aland Islands">Ålandinseln</option>
  <option data-code="AL" value="Albania">Albanien</option>
  <option data-code="DZ" value="Algeria">Algerien</option>
  <option data-code="UM" value="United States Minor Outlying Islands">Amerikanische Überseeinseln</option>
</select>

【问题讨论】:

  • 根据在&lt;select&gt; 上使用change 事件选择的内容显示/隐藏 div 或标签。或者只是在每个选项中输入它。
  • document.getElementById("checkout_shipping_address_country").addEventListener("change",function() { let text = this.options[this.selectedIndex].text; document.getElementbyId("msg").innerText = european.indexOf(text) === -1 ? "EXTRA EU Tax and duties NOT included. You will have to pay them upon delivery": "There are no import duties to pay" ; })
  • 我也建议你有一个“请选择”并测试没有价值

标签: javascript html drop-down-menu show-hide


【解决方案1】:

var european = ["Austria","Belgium","Bulgaria","Croatia","Cyprus","Czechia","Denmark","Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Netherlands","Poland","Portugal","Romania","Slovakia","Slovenia","Spain","Sweden","United Kingdom"]


function isEuropean(country){
  return european.indexOf(country)>=0;
}

//BIND SELECT Change
$(function(){
  $("#checkout_shipping_address_country").change(function() {
    onselection(this);
  });
})

function onselection(sel){
  console.log(sel.value);
  let country = sel.value;
  
  if(isEuropean(country)){
    $('#msg').text("EXTRA EU Tax and duties NOT included. You will have to pay them upon delivery");
  }else{
    $('#msg').text("There are no import duties to pay");
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select  size="1" autocomplete="shipping country" data-trekkie- data-backup="country" class="field__input field__input--select" aria-required="true" name="checkout[shipping_address][country]" id="checkout_shipping_address_country">
        <option data-code="DE" value="Germany">Deutschland</option>
        <option data-code="GB" value="United Kingdom">Vereinigtes Königreich</option>
        <option data-code="US" value="United States">Vereinigte Staaten</option>
        <option data-code="IT" selected="selected" value="Italy">Italien</option>
        <option data-code="EG" value="Egypt">Ägypten</option>
        <option data-code="GQ" value="Equatorial Guinea">Äquatorialguinea</option>
        <option data-code="ET" value="Ethiopia">Äthiopien</option>
        <option data-code="AF" value="Afghanistan">Afghanistan</option>
        <option data-code="AX" value="Aland Islands">Ålandinseln</option>
        <option data-code="AL" value="Albania">Albanien</option>
        <option data-code="DZ" value="Algeria">Algerien</option>
        <option data-code="UM" value="United States Minor Outlying Islands">Amerikanische Überseeinseln</option>
        </select>
        
       <div id="msg"> </div>

【讨论】:

  • 不幸的是,我无法访问
  • 通过 jQuery 绑定
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多