简体   繁体   English

如何显示与选项标签不同的选定值

[英]How to show different selected value than options label

I have simple html select:我有简单的 html 选择:

<select id="mySelect" style="width:10em">
  <option value="val1">Some long text for val 1</option>
  <option value="val2">Some long text for val 2</option>
  <option value="val3">Some long text for val 3</option>
</select>

opened combo box:打开的组合框:

打开的组合框

I dont see what I've selected, I don't want to set width, I want to show different text.我没有看到我选择了什么,我不想设置宽度,我想显示不同的文本。

选定的组合框

I want to keep those long texts in floating panel, but when option is selected, I want to see some short version to see option in small space.Is there any solution to show different text in closed than in opened mode?我想在浮动面板中保留那些长期文本,但选择选项后,我希望看到一些简短的版本,以便在小空间中看到选项。有没有任何解决方案可以在关闭中显示不同的文本,而不是在打开的模式下显示不同的文本?

I solved this problem using jQuery by adding hidden option that decouples selected value and text.我使用 jQuery 通过添加将选定值和文本分离的隐藏选项解决了这个问题。 Just override that this hidden option will be selected always and update its value to whatever you want.只需覆盖将始终选择此隐藏选项并将其值更新为您想要的任何值。 In this case I used value as text, but it can be stored in some custom a在这种情况下,我使用 value 作为文本,但它可以存储在一些自定义 a

 var val = $("#mySelect").val(); var lbl = $("#mySelect option:selected").text(); $("#mySelect").prepend("<option value='" + val + "' data-value='selected' selected hidden>" + val + "</option>"); $("#mySelect").on('change', function() { var val = $("#mySelect").val(); var lbl = $("#mySelect option:selected").text(); $("#mySelect option[data-value='selected']").attr('value', val); $("#mySelect option[data-value='selected']").text(val); $("#mySelect").val(val); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <h2> jQuery hidden option </h2> <select id="mySelect" style="width:10em"> <option value="val1">Some long text for val 1</option> <option value="val2">Some long text for val 2</option> <option value="val3">Some long text for val 3</option> </select>

Other approach is use bootstrap-select like in example:其他方法是使用bootstrap-select,如示例中所示:

<select class="selectpicker">
  <option title="Combo 1">Hot Dog, Fries and a Soda</option>
  <option title="Combo 2">Burger, Shake and a Smile</option>
  <option title="Combo 3">Sugar, Spice and all things nice</option>
</select>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使所选值与 AngularJS 中的选项值不同? - How to make selected value different than options value in AngularJS? 角度-如何在输入字段中显示与所选ng-model不同的所选值? - Angular - How to show selected value different in the input field, different than selected ng-model? 如果选择了不同的选项,如何显示不同的消息(不弹出)。 使用Javascript - How to show different messages (not popup) if different options selected. Javascript 角度:如何设置“值”与选项中显示的值不同? - Angular: how to set 'value' different than displayed value in options? 我可以自定义选择以显示与我选择的值不同的选择值 - Can I customize select to show the selected value different than what I've selected 级联选择:选择特定选项时显示不同的选项 - Cascade Select: Show different options when specific options is selected 如何更改选择框的选择值? 这意味着我想显示选定的值,而不是文本? - how to change select box selected value? which means i want to show the selected value, rather than the text? AngularStrap预输入ng选项-与型号不同的标签 - AngularStrap typeahead ng-options - different label than model 如何从javascript中的下拉列表中显示选定的选项 - How to show selected options from dropdown in javascript 选定选项时如何显示输入 - How to show input when selected options
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM