class Rent extends React.Component{
changeModel(){
var ele = document.getElementById('car_type').value;
var val = document.getElementById('car_model');
var hatch = "<option value = 'Indica'>Indica</option><option value='Swift'>Swift</option><option value = 'Logan'>Logan</option>";
var sedan = "<option value = 'Indigo'>Indigo</option><option value='Xuv'>Xuv</option><option value = 'Accent'>Accent</option>";
var van = "<option value = 'Omni'>Omni</option><option value='Vagon-R'>Vagon-R</option><option value = 'Bolero'>Bolero</option>";
switch(ele){
case 'hatchback':
React.render(hatch,val);
break;
case 'sedan':
React.render(sedan,val);
break;
case 'van':
React.render(van,val);
break;
}
}
render(){
return(
<div id = "content">
<div id="content-header">
<div className="container-fluid">
<div className="widget-box">
<div className="widget-content nopadding">
<form action="#" method="get" className="form-horizontal">
<div className="control-group">
<label className="control-label">Car Type</label>
<div className="controls" >
<select id ="car_type" onChange = {this.changeModel}>
<option value ="hatchback">Hatch Back</option>
<option value ="van">Van</option>
<option value ="sedan">Sedan</option>
</select>
</div>
</div>
<div className="control-group">
<label className="control-label">Car Model</label>
<div className="controls ">
<select id ="car_model" placeholder = "Select Car model">
</select>
</div>
</div>
</form>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
)
}
}
这是我的代码基础上car_type我不能使我car_model选择框中选择box.I已经使用reactJS渲染功能来修改虚拟DOM,也尝试使用.innerHTML
功能来修改实际的DOM,但没有一次成功出。如何渲染基于ReactJS中另一个值的选择框?
可以使用'event.target.value'代替'getElementById'在'changeModel()'方法,通过'event.target.value'访问该值。 –
在呈现乐趣时,存在''的不匹配,u关闭了'form'两次。 –