簡體   English   中英

在選擇選項中顯示值而不是文本

[英]Show Value Instead of text in select option

我有國家代碼下拉列表,在選擇選項文本中同時有國家名稱和ISD代碼,但我只想在選擇后顯示ISD代碼。

<select class="form-control-input" name="country_isd_code" id="country_isd_code">
  <option value="">Country Code</option>
  <option value="+244">Angola (+244)</option>
  <option value="+1">Anguilla (+1)</option>
</select>

我已經搜索了其他一些論壇,但無法獲得如何執行此操作的信息。 就像我們選擇安圭拉,那么那里應該顯示+1,如果選擇安哥拉,那么應該顯示+244

僅包含<select>元素的解決方案。

這個怎么運作:

  • 初始化一個隱藏的<option> ,該<option>將用於顯示所選選項的值。
  • 選擇一個選項時:
    • 如果此值不為 null,則影響隱藏選項的value屬性和文本內容剛剛選擇的選項的value屬性。 然后顯示該隱藏選項。
    • 清空該選項的value和文本內容,然后將其隱藏( 如果所選值為空)(此處為“ Country code選項)

 document.addEventListener('DOMContentLoaded', () => { const select = document.querySelector('select'); select.addEventListener('change', () => { const value = select.value, showValueOption = select.querySelector('.show-value'); if (value === '') { showValueOption.style.display = 'none'; showValueOption.value = ''; return; } showValueOption.style.display = ''; showValueOption.innerText = value; showValueOption.value = value; select.selectedIndex = 0; }); }); 
 <select class="form-control-input" name="country_isd_code" id="country_isd_code"> <option class="show-value" value="" style="display:none;"></option> <option value="" selected>Country Code</option> <option value="+244">Angola (+244)</option> <option value="+1">Anguilla (+1)</option> </select> 

您可以像這樣處理選擇標簽的更改事件。

我更新了將所選值顯示為所選文本的代碼。

$("#country_isd_code").change(function(){
  $("#codeselect").val($(this).val());
})

 $("#country_isd_code").change(function(){ $("#codeselect").val($(this).val()); //$("#country_isd_code option:selected").text($(this).val()); $("#selecteditem").val($(this).val()) $("#selecteditem").text($(this).val()) $("#selecteditem").prop('selected', true); $("#selecteditem").show(); }) 
 #selecteditem{ display:none; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select class="form-control-input" name="country_isd_code" id="country_isd_code"> <option id="selecteditem" value=""></option> <option value="">Country Code</option> <option value="+244">Angola (+244)</option> <option value="+1">Anguilla (+1)</option> </select> <input type="text" id="codeselect" /> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM