Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何定制<;选择>;显示值?_Javascript_Html_Select - Fatal编程技术网

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