不知何故event.currentTarget.textContent
在选择时显示所有结果
handleChange(event) {
console.log(event.currentTarget.textContent);
}
render() {
var items = [];
for (var key in this.props.data) {
items.push(<option key={key} value={key}>{this.props.data[key].name}</option>);
}
return (
<div className="">
<select onChange={this.handleChange}>
<option value=''>Default</option>
{items}
</select>
</div>
);
}
控制台日志结果为:DefaultCategory1Category2Cateogry3
如何获取所选选项文本?
示例:值显示值,但当前目标显示所有值:http://jsfiddle.net/3q2bswLy/10/
可以使用ELEMENT.value
访问select
元素的值。
使用ELEMENT.textContent
将为您提供该元素的子元素的所有内容(实际上是一个字符串,包含<option>
元素中的所有值(。
下面是一个通用的 javascript 示例,但它适用于 reactevent.currentTarget
完全相同:
console.log(document.querySelector('select').value);
console.log(document.querySelector('select').textContent);
<select>
<option>val1</option>
<option selected="selected">val2</option>
<option>val3</option>
</select>
检查以下jsfiddle:
https://jsfiddle.net/p89a6r3L/