私は2つの<select>
の入力を持っています。私はその属性を他のものから特定の値のオプションで "無効にする"ように設定したいと考えています。<select>
値を変更するときのsetState <select>
最初のものは次のとおりです。
<select ref="selectOption">
<option selected value="1" >Option 1</option>
<option value="2" >Option 2</option>
</select>
<select ref="selectTime" disabled={this.state.disabled}>
<option value="a" >January</option>
<option value="b" >Febreaury</option>
</select>
だから、私の考えは、私はそれを行うことができますどのように最初の<select>
から時にオプションの値は= 2のように虚偽の第二<select>
の状態を設定することです?それとも私はそれを行うことができる反応がない別の方法がありますか?または小道具で?私はかなり混乱しています。私は次のようなことを試みました:
var option= ReactDom.findDOMNode(this.refs.selectOption).value;
if(option == '2') this.setState({disabled:true});
しかし、それは機能しません。それをcomponentDidUpdateに入れようとしましたが、selectから新しい値を選択したときにコンポーネントが更新されないため、動作しません。アイデアをお願いします。
EDIT:
私もjQueryを使って、このソリューションを持っているが、私はReactjsを使用したいです。
$('#selectOption').change(function() {
$('#selectTime').prop('disabled', false);
if ($(this).val() == '2') {
$('#selectTime').prop('disabled', true);
}
})
は私がReactDom.findDOMNode(this.refs.selectOption)の代わりにjQueryのセレクタ
感謝。この回答と@ rob-mは私が見つけようとしていました。私はこの答えを正しいものとして選ぶのは、最初のものだったからです。 – pmirnd