我需要设置's:textarea'值,该值在's:radio'按钮中选择。
我目前正在使用以下代码执行此操作。但它始终在's:textarea'中设置'In test'值,这是's:radio'按钮列表中的第一个值。
function handleCommentChange()
{
var comment = document.getElementById('comment');
var radioComment1 = document.getElementById('radio1');
comment.value = radioComment1.value;
}
<td>
<s:radio id="radio1" name="radio1" list="#{'In test':'In test','Defect':'Defect','Pass':'Pass', 'Fail':'Fail' }"
onclick="javascript:handleCommentChange();" ></s:radio>
<br></td>
<td><s:textarea id="comment" name="comment" cols="25" rows="5"></s:textarea></td>
请告诉我如何在's:textarea'中设置's:radio'按钮的选定值。
答案 0 :(得分:2)
将对单击的无线电的引用传递给handleCommentChange()函数。您可以传递this
,它将为函数提供对radio元素的引用,并允许您访问其所有属性等,或者您可以直接传递this.value
并让函数将该字符串赋值给你的textarea。我更愿意传递this
以允许将来需要访问其他属性的扩展:
function handleCommentChange(aRadio) {
document.getElementById('comment').value = aRadio.value;
}
<s:radio ... onclick="handleCommentChange(this);">
另一种方法是设置一个循环来遍历每个单选按钮,并检查哪个单元的checked属性设置为true。