Javascript 单击React.js中的复选框时,需要更改dropdownlist的Selectedindex
我必须创建一个带有下拉列表和复选框的动态页面,这部分已经完成。 第二部分是,当我单击复选框时,所选下拉列表应转到默认值(00000000-0000-0000-0000-000000000000)。 我试过了,但没有成功。有人能提出建议吗Javascript 单击React.js中的复选框时,需要更改dropdownlist的Selectedindex,javascript,reactjs,Javascript,Reactjs,我必须创建一个带有下拉列表和复选框的动态页面,这部分已经完成。 第二部分是,当我单击复选框时,所选下拉列表应转到默认值(00000000-0000-0000-0000-000000000000)。 我试过了,但没有成功。有人能提出建议吗 var AnswerView=React.createClass({ getInitialState:函数(){ 返回{defaultselected:“00000000-0000-0000-0000-000000000000”}; }, render:func
var AnswerView=React.createClass({
getInitialState:函数(){
返回{defaultselected:“00000000-0000-0000-0000-000000000000”};
},
render:function(){
//挑选名单-1
//文本-2
//日期-3
返回(
无答复
不适用
);
}
,handleChange:函数(字段,e){
此.replaceState({defaultselected:“00000000-0000-0000-0000-000000000000”});
此.setState(即目标已选中)
}
});
var FormatePickList=React.createClass({
render:function(){
var行=[];
rows.push();
for(var i=0;i由于我不知道这个.props.answers和这个.props.responses是什么,我很难重现你的问题。但是,我很清楚,您需要一些复选框来自动将下拉列表的值更改为“默认”或“无答案”值
您需要处理复选框和select元素的onChange事件。在事件处理程序中,您将把状态更新为选中的任何答案,因此,对于select元素,它是选中的答案,对于复选框,它总是“no answer”值
您如何做到这一点的示例:
(JSFiddle:)
var AnswerView=React.createClass({
getInitialState:函数(){
返回{
“选择回答”:“没有回答”
}
},
render:function(){
返回(
没有回答
答复1
答复2
无答复
当前状态:{this.state.selectedAnswer}
);
},
handleChange:函数(e){
console.log(如target.value);
这是我的国家({
所选答案:e.target.value
});
},
handleNoAnswer:功能(e){
console.log(e.target.checked);
如果(例如,选中目标){
这是我的国家({
选择回答:“否”
});
}
}
});
React.render(),可以通过属性定义初始状态。从您的评论中我了解到,如果有响应(检查数组的长度),则应选择第一个答案(代码中的[0]
)。所以你基本上想要的是,把你的初始状态设置为第一个答案。用于此的逻辑(代码)可以放在React类之外,初始状态可以通过属性传递给它。我更新了JSFIDLE以显示它是如何完成的:在this.setState(e.target.checked)
行中,您想做什么?我认为setState
不接受这个值,应该传递一个对象。此外,您已经在上面的行中将状态替换为replaceState
。请忽略这些行请忽略这些行的handleChange事件。请告诉我需要编写哪些代码来重置dropdownlist。谢谢..您的代码工作正常。。我必须在select元素和onChange事件中使用相同的变量。如何在这两个地方维护相同的变量?因为这些值来自ajax调用。对不起,我不明白你的意思。我扩展了我的答案,解释了如何根据AJAX输入设置初始状态。希望这就是你想要的。