我有国家(地区)代码下拉列表,在选择选项文本中同时有国家(地区)名称和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
答案 0 :(得分:2)
仅包含<select>
元素的解决方案。
工作原理:
<option>
,该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>
struct ModelName{
var name: String
var rectangle: Bool
}
答案 1 :(得分:1)
您可以像这样处理选择标签的更改事件。
我更新了将所选值显示为所选文本的代码。
$("#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" />