1.下拉项选中时,触发onChanged这个方法
2.可以在方法中获取到值,但怎样获取到选中值的文本呢?
<select onchange="onChanged(this)"><option value="">--Select--</option>
<option value="1">Valve1</option>
<option value="4">Value2</option>
</select>
function onChanged(obj) {
debugger
var d = obj.value;//可以获取到值
var d2 = obj.text(); //不可以获取文本
}
<select onchange="onChanged(this)">
<option value="">--Select--</option>
<option value="1">Valve1</option>
<option value="4">Value2</option>
</select>
<script>
function onChanged(obj) {
var selectedText = obj.options[obj.selectedIndex].text;
console.log(selectedText);
}
</script>
【以下回答由 GPT 生成】
问题解答:
要获取选中值的文本,可以使用 selectedIndex
属性获取选中选项的索引,然后通过 options
属性获取对应索引的选项元素,最后使用 innerText
属性获取选项的文本。
修改代码如下:
<select onchange="onChanged(this)">
<option value="">--请选择--</option>
<option value="1">选项1</option>
<option value="2">选项2</option>
</select>
<script>
function onChanged(obj) {
var selectedIndex = obj.selectedIndex;
var selectedOption = obj.options[selectedIndex];
var text = selectedOption.innerText;
console.log(text);
}
</script>
在 onChanged
函数中,首先通过 selectedIndex
获取选中选项的索引,然后使用 options
属性获取选项元素,再通过 innerText
属性获取选项的文本。最后将文本打印到控制台。
需要注意的是,innerText
是一个非标准属性,对应的标准属性是 textContent
,两者的功能类似,都可以获取元素的文本。但在一些旧版本的浏览器中,可能不支持 innerText
。