var MySelect = React.createClass({
change: function(){
return document.querySelector('#lang').value;
},
render: function(){
return(
<div>
<select id="lang">
<option value="select" onChange={this.change}>Select</option>
<option value="Java" onChange={this.change}>Java</option>
<option value="C++" onChange={this.change}>C++</option>
</select>
<p></p>
<p value={this.change}></p>
</div>
);
}
});
React.render(<MySelect />, document.body);
onChange
事件不起作用。
import React, { PureComponent, Fragment } from 'react';
import ReactDOM from 'react-dom';
class Select extends PureComponent {
state = {
options: [
{
name: 'Select…',
value: null,
},
{
name: 'A',
value: 'a',
},
{
name: 'B',
value: 'b',
},
{
name: 'C',
value: 'c',
},
],
value: '?',
};
handleChange = (event) => {
this.setState({ value: event.target.value });
};
render() {
const { options, value } = this.state;
return (
<Fragment>
<select onChange={this.handleChange} value={value}>
{options.map(item => (
<option key={item.value} value={item.value}>
{item.name}
</option>
))}
</select>
<h1>Favorite letter: {value}</h1>
</Fragment>
);
}
}
ReactDOM.render(<Select />, window.document.body);
反应钩(16.8):
const Dropdown = ({
options
}) => {
const [selectedOption, setSelectedOption] = useState(options[0].value);
return (
<select
value={selectedOption}
onChange={e => setSelectedOption(e.target.value)}>
{options.map(o => (
<option key={o.value} value={o.value}>{o.label}</option>
))}
</select>
);
};
更改事件在
必须将选定值存储为状态,并在值更改时更新状态。更新状态将触发组件的重新加载。
var MySelect = React.createClass({
getInitialState: function() {
return {
value: 'select'
}
},
change: function(event){
this.setState({value: event.target.value});
},
render: function(){
return(
<div>
<select id="lang" onChange={this.change} value={this.state.value}>
<option value="select">Select</option>
<option value="Java">Java</option>
<option value="C++">C++</option>
</select>
<p></p>
<p>{this.state.value}</p>
</div>
);
}
});
React.render(<MySelect />, document.body);
还要注意
详细了解事件处理、状态和窗体控件:
http://facebook.github.io/react/docs/interactivity-and-dynamic-uis.html
- http://facebook.github.io/react/docs/forms.html
问题内容: 我的MVC视图中的代码为黑色,如下所示: 我想设置ViewData [“ selected”]的值,以便可以将其发送到所需的操作。有人可以建议我该怎么做吗? 谢谢! 问题答案: 为什么不使用表单,而不在下拉菜单中使用jQuery onChange事件?
问题内容: 该事件不起作用。 问题答案: 更改事件是在元素而不是元素上触发的。但是,这不是唯一的问题。您定义函数的方式不会导致组件的重新渲染。似乎您可能尚未完全了解React的概念,所以“在React中思考”可能会有所帮助。 您必须将所选值存储为状态,并在值更改时更新状态。更新状态将触发组件的重新呈现。 另请注意,元素没有属性。反应/ JSX简单地复制了著名的HTML语法,它不引入自定义属性(有例
我的表单中有一个下拉列表,用于过滤数据。我使用ajaxonchange函数根据所选列表过滤数据。 我的下拉列表如下所示: 这是我想要显示onchange数据的div: 当有onchange on下拉列表时,它将通过以下ajax功能: 然后转到url检查是否有来自ajax的帖子: 因此,过滤完成后,
问题内容: 快速创建下拉菜单的库是什么?我是Xcode和Swift语言的新手,所以有人可以指导我如何快速实现下拉列表吗? 问题答案: “下拉菜单”是一个网络控件/术语。在iOS中,我们没有这些。您可能会更好看。查看本教程,以了解PopoverControllers http://www.raywenderlich.com/29472/ipad-for-iphone-developers-101-i
我在Servlet中使用SortedMap来填充JSP中的下拉列表值,我有以下代码 在JSP中 我正在使用一个 JSP 页进行插入和更新。当我编辑页面时,如何将所选值设置为下拉列表,其中所选值将来自数据库。
假设用户从下拉列表中选择option2,那么f1()将在下拉列表的值发生更改时执行,我正在监听更改事件。现在,用户再次单击下拉列表并选择option2,在这种情况下,下拉列表的值不变,因此f1不会执行。现在,我希望每次用户从下拉列表中选择某个值时都执行f1,无论值是否更改。