使用javascript在下拉列表中显示选项的键和值

时间:2014-11-21 07:43:51

标签: javascript drop-down-menu key-value

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; 
}

2 个答案:

答案 0 :(得分:0)

您尝试做的事情是不可能的(使用原生<select>)。您在关闭的<select>中看到的项目只是当前选中的<option>。当您打开下拉列表时,您会在两个位置看到相同的<option> - 在&#34;选择&#34;并在&#34;列表&#34;。当它们相同<option>时,您无法在每个地方看到不同的值。

但是,您可以在其他地方显示所选的,例如在<select>旁边的第二个元素中。

答案 1 :(得分:0)

这不是一个完美的答案.. 但是可能的工作......

&#13;
&#13;
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;
&#13;
&#13;