【发布时间】:2016-07-08 22:54:52
【问题描述】:
我正在使用 jquery select2 来制作一个选择框。 (也是新的反应)当多选框内的数据发生变化时,我想调用一个函数。 onClick 和 onBlur 按预期工作,但 onChange 没有做任何事情。我认为这个问题与反应如何呈现它有关。如果我在组件渲染后添加 onChange 效果,它可以工作$('#additional-filters-dropdown').attr('onChange', 'console.log("test")')
.onChange 也可以在本机 html 中按我想要的方式工作,而无需做出反应。如果反应元素是输入字段而不是选择,则 onChange 有效,所以我不知道为什么它们不能一起玩得很好。
反应组件
var product_selections = React.createClass({
handleChange: function() {
console.log("Selction has been changed!");
},
render: function() {
return (
<div className='row'>
<br/>
<label htmlFor='product-dropdown'>
Product
<br/>
<select className='js-example-basic-multiple js-states form-control' id='product-dropdown' multiple='multiple' onChange={this.handleChange}>
</select>
</label>
</div>
);
}
});
Jquery Select2
$('#product-dropdown').select2({
data: [1,2,3,4]
});
app_main.js
var React = require('react');
var ReactDOM = require('react-dom');
ReactDOM.render(<ProductSelections/>, document.getElementById('product-selection-container'));
任何可以为我指明正确方向的东西都是有帮助的。
【问题讨论】:
-
我相信改变应该给予选项而不是选择
-
使用 select2 时,多选没有选项元素。
标签: javascript jquery reactjs onchange select2