我想在选择框中显示特定文本而不更改/删除选项标记的文本/值。例如当用户选择“+91 India”时,我只想显示“+91”
function countryChange() {
//some code
document.getElementById('mySelect').value = 'some value';
}
<!DOCTYPE html>
<html>
<body>
<select id="mySelect" onChange="countryChange()">
<option value="+91">+91 India</option>
<option value="+45">+45 Denmark</option>
</select>
</body>
</html>
答案 0 :(得分:1)
这是您可以执行此操作的方式
说实话,我不认为你想要做的是一个好主意。我建议创建一些div
并更改其内容。
var select = document.getElementById('mySelect'),
options = select.options;
select.onchange = function() {
var option = options[select.selectedIndex];
option.text = option.value;
select.blur();
}
select.onfocus = function() {
for (i = 0; i < options.length; i++) {
options[i].text = options[i].getAttribute("data-text");
}
}
&#13;
<!DOCTYPE html>
<html>
<body>
<select id="mySelect">
<option value="+91" data-text="+91 India">+91 India</option>
<option value="+45" data-text="+45 Denmark">+45 Denmark</option>
</select>
</body>
</html>
&#13;