Javascript 基于radiobutton响应启用多个文本区域
以下是我试图解决的问题: 我有一长串问题 每个问题包括一个回答部分,由4个单选按钮(是、否、未看到和不适用)和两个文本区域组成; 现在,默认情况下禁用textarea“观察”。只有用户的回答“否”才能启用此文本区域 问题:如何将相同的逻辑应用于整个问题集中的每个文本区域“观察” 我目前的情况是: A.响应按钮的HTMLJavascript 基于radiobutton响应启用多个文本区域,javascript,radio-button,textarea,Javascript,Radio Button,Textarea,以下是我试图解决的问题: 我有一长串问题 每个问题包括一个回答部分,由4个单选按钮(是、否、未看到和不适用)和两个文本区域组成; 现在,默认情况下禁用textarea“观察”。只有用户的回答“否”才能启用此文本区域 问题:如何将相同的逻辑应用于整个问题集中的每个文本区域“观察” 我目前的情况是: A.响应按钮的HTML <div id="Response"> <label><input type="radio" name="Radio419" value="Y"
<div id="Response">
<label><input type="radio" name="Radio419" value="Y" id="Radio_419Y" onchange='radioChange(this)'>Yes</label>
<label><input type="radio" name="Radio419" value="N" id="Radio_419N" onChange='radioChange(this)'>No</label>
<label><input type="radio" name="Radio419" value="NS" id="Radio_419NS" onChange='radioChange(this)'>Not Seen</label>
<label><input type="radio" name="Radio419" value="NA" id="Radio_419NA" onChange='radioChange(this)'>Not Applicable</label>
</div>
对
不
不见
不适用
B.文本框的HTML
<span id="responseDetails">
<div id="Comment">
<label for="comment">Comment:</label>
<textarea name="comment" id="Comm419"</textarea></div>
<div id="Observation">
<label for="observation">Observation:</label>
<textarea name="observation" id="Obs419"</textarea></div>
</span>
评论:
如果您可以像这样将id传递到radioChange()
函数onchange='radioChange(this'419')'
更新
首先,您的两个textarea
标记都没有关闭
<textarea name="comment" id="Comm419" </textarea></div>
//-----------------------------------^
这是通过动态id传递的id。是静态的{document.getElementById(“Obs419”).removeAttribute(“disabled”)}
工作吗?当使用动态id时,您是否通过了onchange='radioChange(这个,'419')
输入标记的id{if(button.checked){if(button.value==“N”){document.getElementById(“Obs”+id”).removeAttribute(“disabled”)}否则{document.getElementById(“Obs”+id”).setAttribute(“disabled”,true)}哦,是的,它可以工作。在复制/粘贴示例的过程中,结尾标记丢失了,但双引号起了作用!非常感谢。
<label><input type="radio" name="Radio419" value="Y" id="Radio_419Y" onchange='radioChange(this, '419')'>Yes</label>
document.radioChange = function (button, id)
{if(button.checked ) {if (button.value === "N")
{document.getElementById("Obs"+id).removeAttribute("disabled")}
else
{document.getElementById("Obs"+id).setAttribute("disabled",true)}}}
<textarea name="comment" id="Comm419" </textarea></div>
//-----------------------------------^
onchange='radioChange(this, "419")'