У меня есть поле множественного выбора, которое показывает / скрывает различное в зависимости от того, что выбрано.Значения соответствуют их соответствующему классу.
Нужна помощь в преобразовании приведенного ниже кода Jquery, чтобы реагировать на отображение / скрытие соответствующих s
***** HTML *****
<select id="my_fields" name="my_fields" multiple="multiple">
<option value="gas">Gas</option>
<option value="car_wash">Car Wash</option>
<option value="parking">Parking</option>
<option value="other">Other</option>
</select>
<div class="gas hide">show/hide gas</div>
<div class="car_wash hide">show/hide car_wash</div>
<div class="parking hide">show/hide parking</div>
<div class="other hide">show/hide other</div>
***** JQuery *****
$( "#my_fields" ).change(function () {
$( "#my_fields option:selected" ).each(function() {
$( "."+ $(this).val() ).show();
});
$( "#my_fields option:not(:selected)" ).each(function() {
$( "."+ $(this).val() ).hide();
});
});
***** The React *****
.....imports and class.....
constructor(props) {
super(props);
this.state = {
value: "",
show:false,
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({
value: event.target.value,
show: true
})
}
render() {
var show = {
display: this.state.show ? "block" : "none"
};
return (
<select
name="my_fields"
multiple
value={this.state.value}
onChange={this.handleChange}
>
<option value="gas">Gas</option>
<option value="car_wash">Car Wash</option>
<option value="parking">Parking</option>
<option value="other">Other</option>
</select>
<div class="gas" style={ show }>show/hide gas</div>
<div class="car_wash" style={ show }>show/hide car_wash</div>
<div class="parking" style={ show }>show/hide parking</div>
<div class="other" style={ show }>show/hide other</div>
)