如何使用JavaScript在's:textarea'中设置's:radio'按钮的选定值?

时间:2011-06-03 04:05:03

标签: javascript html struts2

我需要设置'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'按钮的选定值。

1 个答案:

答案 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。