Ich benutze jquery select2, um eine Auswahlbox zu machen. (Auch neu zu reagieren) Ich möchte eine Funktion aufrufen, wenn die Daten in der Mehrfachauswahlbox geändert werden. onClick und onBlur funktionieren wie erwartet, aber onChange tut nichts. Ich denke, dass das Problem damit zu tun hat, wie reagieren es macht. Wenn ich den onChange-Effekt hinzufüge, nachdem die Komponente gerendert hat, funktioniert es $('#additional-filters-dropdown').attr('onChange', 'console.log("test")')
. OnChange funktioniert auch, wie ich in nativem HTML ohne reagieren möchte. Und onChange funktioniert, wenn das react-Element ein Eingabefeld ist anstelle von select, also habe ich keine Ahnung, warum sie nicht alle gut zusammenspielen.onChange funktioniert nicht mit reagieren und select2
React Component
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'));
Alles Das kann mich in die richtige Richtung weisen ist hilfreich.
ich glaube, auf Änderung sollte statt Option – Nakib
Option gegeben werden, mit select2 gibt es keine Option Element für die Multiselect. –