Javascript 单击React.js中的复选框时,需要更改dropdownlist的Selectedindex

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

我必须创建一个带有下拉列表和复选框的动态页面,这部分已经完成。 第二部分是,当我单击复选框时,所选下拉列表应转到默认值(00000000-0000-0000-0000-000000000000)。 我试过了,但没有成功。有人能提出建议吗

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输入设置初始状态。希望这就是你想要的。