Javascript 如何定制<;选择>;显示值?
我有一个简单的选择:Javascript 如何定制<;选择>;显示值?,javascript,html,select,Javascript,Html,Select,我有一个简单的选择: <select> <option value="1" displayvalue="text 1">Very very long text 1</option> <option value="2" displayvalue="text 1">Very very long text 2</option> <option value="3" displayvalue="text 1">
<select>
<option value="1" displayvalue="text 1">Very very long text 1</option>
<option value="2" displayvalue="text 1">Very very long text 2</option>
<option value="3" displayvalue="text 1">Very very long text 3</option>
</select>
我似乎也找不到一个
选项
属性,它只允许我更改显示的文本,而不允许我更改它的实际值。使用
函数gettext(sel){
警报(sel.options[sel.selectedIndex].getAttribute('displayvalue');
}
非常非常长的文本1
非常非常长的文本2
非常非常长的文本3
首先,自定义属性应以data-*
为前缀,其次,您需要另一个属性来存储初始值,否则它将在下次打开选择器时消失。我如何告诉选项显示取自displayvalue
属性的“文本1”而不是“非常长的文本1”?看看这个片段:
option.onchange = function(){
this.text = this.selectedOption.getAttribute("displayvalue");
}