在选择标记中显示值而不是文本

时间:2017-07-26 11:18:20

标签: javascript jquery html select drop-down-menu

我想创建一个下拉列表,它应该显示值而不是文本。

但是,当我点击下拉列表时,该选项应显示文本而不是值。

我在这里添加了一个示例,但它没有按预期工作:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Test</title>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
 <select>
  <option name="One" value="1">One</option>
  <option name="Two" value="2">Two</option>
  <option name="Three" value="3">Three</option>
  <option name="Four" value="4">Four</option>
 </select>

<script>
  $(document).ready(function() {
    $('select').click(function() {
      $('select :selected').text($('select :selected').val());
    });
  });
</script>
</body>
</html>

这是一个例子的图片。

example

2 个答案:

答案 0 :(得分:3)

试试这个

&#13;
&#13;
$(document).ready(function() {
    $("select option[value="+$('select option:selected').val()+"]").css({"background-color":"#0000ff","color":"#fff"});
    $('select').change(function() {
     $('select option')[0].value=$('select option:selected').val();
     $('select option')[0].innerHTML=$('select option:selected').val();
     $("select").val($('select option:selected').val());
     $("select option").css({"background-color":"","color":""});
     $("select option[value="+$('select option:selected').val()+"]").css({"background-color":"#0000ff","color":"#fff"});
    });
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 <select>
  <option name="One" value="1" style="display:none">1</option>
  <option name="One" value="1">One</option>
  <option name="Two" value="2">Two</option>
  <option name="Three" value="3">Three</option>
  <option name="Four" value="4">Four</option>
 </select>
&#13;
&#13;
&#13;

我创建了一个额外的选项,它将不会显示。现在,每当用户更改任何选项时,我将更改未显示的第一个元素的值和文本,然后设置要选择的第一个值

答案 1 :(得分:0)

我不知道它的帮助已经满了,但如果你对此感到满意,你可以使用....

在文本字段和值字段中绑定值,在获取文本时,您可以将值与旧值匹配。

<select>
  <option name="One" value="1">1</option>
  <option name="Two" value="2">2</option>
  <option name="Three" value="3">3</option>
  <option name="Four" value="4">4</option>
 </select>

抱歉,如果它不值得你....