[将选项值设置为选择文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[将选项值设置为选择文本相关的知识,希望对你有一定的参考价值。

需要帮助

我需要有一个选择功能,其中as

<select class="form-control">
<option value="4100">4100 : Mass Collections</option>
<option value="4200">4200 : Stole Fees</option>
<select>

enter image description here

现在我不想在选择一个选项后包括代码说明,它应该是这样的代码仅出现在选择框上。

enter image description here

我已经尝试过这个Jquery脚本

$('select').change(function() {

   var code= $('option:selected',this).text().split(' : ');
   $('option:contains('+code[0]+')',this).val(code[0]);

})

但是每次我在下拉菜单中进行检查时,该选项都会完全省略说明。我该如何预防。

enter image description here

预先感谢

答案
您可以遵循此answer的想法:仅当元素具有焦点时才添加描述:

$('select').on("focus", function(s) { for (var o of this.options) { o.textContent = o.getAttribute('value') + ': ' + o.dataset.descr; } }); $('select').on("blur", function(s) { for (var o of this.options) { o.textContent = o.getAttribute('value'); } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control">
<option value="4100" data-descr="Mass Collections">4100</option>
<option value="4200" data-descr="Stole Fees">4200</option>
<select>
另一答案
这是我能做的最好的事情。

$(document).ready(function (){ $('select').change(function(s) { for (var option of this.options) { option.label = option.text; }; this.selectedOptions[0].label = this.selectedOptions[0].value; }); });

最好使用更多选项进行检查,

<select class="form-control"> <option value="4100">4100 : Mass Collections</option> <option value="4200">4200 : Stole Fees</option> <option value="4300">4300 : Something Else</option> <select>

以上是关于[将选项值设置为选择文本的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”

当我在 asp.net 核心中选择下拉值时,如何将特定文本设置为下拉列表?

如何将选定的对话框值设置为片段中的 TextViews [重复]

在具有多行标题的选项卡上设置片段

解析:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

选择下拉菜单的选项时,“无法设置属性‘值’为空”