2016-09-29 18 views
0

私はラジオボタンのコードを書いていますが、動作していません。デフォルトのチェックを選択したいのですが、それも動作していません。いずれかのボタンを選択します。助けてあげてください。React JSラジオボタンが選択されていません

var FlightDetails = React.createClass({ 
    getInitialState:function() { 
     return { 
      view :'fare', 
      selectedOption :0 
     }; 
    }, 
    handleChange: function (e) { 
     if(e.target.value == 'itinerary'){ 
      this.setState({ 
       view: 'itinerary', 
       selectedOption :1 
      }) 
     } 
     if(e.target.value == 'fare'){ 
      this.setState({ 
       view: 'fare', 
       selectedOption :0 
      }) 
     } 
    }, 
    render:function() { 
     return(
      <div id={this.props.id} className="collapse flightDetails"> 
       <div className="row col-sm-12 col-centered"> 
        <label className="col-sm-3 col-xs-12 col-sm-3 col-sm-3"> 
         <input type="radio" name="Details" value={'fare'} 
           checked={this.state.selectedOption == 0} 
           onChange={this.handleChange}/>{' '}Fare 
        </label> 
        <label className="col-sm-3 col-xs-12 col-sm-3 col-sm-3"> 
         <input type="radio" name="Details" value={'itinerary'} 
           checked={this.state.selectedOption == 1} 
           onChange={this.handleChange}/> {' '}Itinerary 
        </label> 
       </div> 

      </div> 
     ) 
    } 
}); 

ここはjsfiddleです。

+1

あなたのコードは既に動作していますhttps://jsfiddle.net/pranesh_ravi/6ndd5fk6/ –

+1

ここのコードはうまくいきます。あなたの問題は他のどこかにあるはずです。 – poke

答えて

0

私は良い、あなたがこのような何かことができますしたいものを理解している場合:ここで

var FlightDetails = React.createClass({ 
getInitialState:function() { 
    return { 
     view :'fare', 
     selectedOption: false 
    }; 
}, 
handleChange: function (e) { 
    if(e.target.name == 'itinerary'){ 
     this.setState({ 
      view: 'itinerary', 
      selectedOption: true 
     }) 
    } 
    if(e.target.name == 'fare'){ 
     this.setState({ 
      view: 'fare', 
      selectedOption: false 
     }) 
    } 
}, 
render:function() { 
    return(
     <div id={this.props.id} className="collapse flightDetails"> 
      <div className="row col-sm-12 col-centered"> 
       <label className="col-sm-3 col-xs-12 col-sm-3 col-sm-3"> 
        <input type="radio" name="fare" 
          checked={!this.state.selectedOption} 
          onChange={this.handleChange.bind(this)}/>{' '}Fare 
       </label> 
       <label className="col-sm-3 col-xs-12 col-sm-3 col-sm-3"> 
        <input type="radio" name="itinerary" 
          checked={this.state.selectedOption} 
          onChange={this.handleChange.bind(this)}/> {' '}Itinerary 
       </label> 
      </div> 

     </div> 
    ) 
} 
}); 

jsfiddleです。

+0

こんにちはボッキー、あなたの応答をありがとうが、私はまだ最初のラジオボタンを選択することはできませんまた、ボタンの非デフォルトで選択されています。これはラベルのタグのためですか? – avi

+0

私はjsfiddleで答えを更新しました。 – Boky

+0

私はそのjsfiddle Linkを入手できますか? – avi

関連する問題