Насколько я понимаю, когда вы пытаетесь обработать Выберите элемент формы вactJS, вы генерируете объект в HTMLOptionsCollection.
Фундаментальный корень методов и свойств этого объекта: e.target.options .
Ваши товары хранятся в свойстве e.target.options.value.
Чтобы получить доступ к значению, хранящемуся в объекте options.value, вы можете использовать значение цикла [i], следовательно, свойство e.target.options [i] .value.
e.target.options [i] .value возвращает типы данных строк.
После того, что я только что сказал, я предполагаю, что объекты хранятся в соответствии с соглашением об увеличении числа следующим образом:
e.target.options [i] .value где {[i]: значение, [i +1]: значение (...)} ...
Используя e.target.options [i] .selected, вы можете контролировать наличие значения в определенном месте.
e.target.options [i] .selected возвращает логическое значение, полезное для обработки потока кода.
Теперь вам решать.
Здесь мой код для обработки формы множественного выбора в JSX с кодом javascript:
// Create the React Component
class ChooseYourCharacter extends React.Component {
// Set the constructor
constructor(props) {
super(props);
this.state = {value: 'coconut'};
// bind the functions
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
// extract the value to fluently setState the DOM
handleChange (e) {
var options = e.target.options;
var value = [];
for (var i = 0, l = options.length; i < l; i++) {
if (options[i].selected) {
value.push(options[i].value);
}
}
this.setState({value: value});
}
// display in client-side the values choosen
handleSubmit() {
alert("you have choose :" + this.state.value);
}
(...)