function keyy(id)
{
var value;
var selected;
var select = document.getElementById(id);
if(value != null)
select.options[selected].text = value;
selected = select.selectedIndex;
var key;
key =select.options[selected].value;
value= select.options[selected].text;
select.options[selected].innerHTML = key;
}
<select id="Carss" name="Cars" onchange="keyy(this.id)" >
<option value="A">Audi</option>
<option value="M">Mercedes</option>
</select>
我有n个下拉值。当我选择一个值时,应显示相应的键。下拉应该是值,显示项应该是相应的键。
已获取图像以供参考。
我的代码:
var value;
var selected;
function keyy(id) {
var select = document.getElementById(id);
if(value != null)
select.options[selected].text = value;
selected = select.selectedIndex;
var key;
key =select.options[selected].value;
value= select.options[selected].text;
select.options[selected].text = key;
}
答案 0 :(得分:0)
您尝试做的事情是不可能的(使用原生<select>
)。您在关闭的<select>
中看到的项目只是当前选中的<option>
。当您打开下拉列表时,您会在两个位置看到相同的<option>
- 在&#34;选择&#34;并在&#34;列表&#34;。当它们相同<option>
时,您无法在每个地方看到不同的值。
但是,您可以在其他地方显示所选的值,例如在<select>
旁边的第二个元素中。
答案 1 :(得分:0)
这不是一个完美的答案.. 但是可能的工作......
function key() {
document.getElementById("Carss").style.width = "100px"
}
function key2() {
document.getElementById("Carss").style.width = "34px"
document.getElementById("Carss").blur();
}
&#13;
<select id="Carss" name="Cars" onfocus="key()" onchange="key2()" style="width:34px">
<option value="A">Audi</option>
<option value="M">Mercedes</option>
</select>
&#13;