日期:2014-05-18  浏览次数:20686 次

struts标签如何实现选中某个radio后,让其后的内容可填,否则不可填
<logic:present name="nameMap" scope="request">
 <logic:iterate id="name" name="nameMap" scope="request" indexId="id">
  <bean:define id="key" name="name" property="key" type="java.lang.Long"/> 
  <logic:equal name="id" value="3">
  <html:radio property="person.name" value="<%=String.valueOf(key)%>" styleClass="Radio" onclick="hideMC(1)"/>
  <bean:write name="name" property="value"/>&nbsp; 
  <html:text property="person.name" styleClass="Input" size="20" maxlength="200" /><br /> 
  </logic:equal> 

  <logic:notEqual name="id" value="3">
  <html:radio property="pserson.name" value="<%=String.valueOf(key)%>" styleClass="Radio" onclick="hideMC(0)"/>
  <bean:write name="name" property="value"/><br />
  </logic:notEqual>  
 </logic:iterate>
</logic:present>


js为
function hideMC(value)
{
  if(document.AwGjzForm('person.name').length == 5)
  {
  if(document.AwGjzForm('person.name')[3].checked)
  {
  document.AwGjzForm('person.special').disabled = false;
  }else
  {
document.AwGjzForm('person.special').value = "";
document.AwGjzForm('person.special').disabled = true;
  }
  }
}
这个只能实现当选第三个时,就可以对它填写额外内容,但现在要对第一个也做特殊处理,就是选中第一个后,其后面有一个文本域可以填写详细内容,若没选,则不能填,请问我该怎么改啊?望大家多指点啊!

------解决方案--------------------
HTML code

<SCRIPT LANGUAGE="JavaScript">
function hideMC(value) 
{
    if(document.AwGjzForm('person.name').length == 5)
    {
        var input = document.AwGjzForm.getElementsByTagName("input")
        for(var i=0;i<input.length ;i++ )
        {
            if(input[i].type=="text" && input[i].name.indexOf("text")>-1)
            {
                if(input[i].name=="text"+value)
                {
                    input[i].value = "";
                    input[i].disabled = false;
                }
                else
                {
                    input[i].value = "";
                    input[i].disabled = true;
                }
            }
        }
    }
}
</SCRIPT>
<body>
<form name=AwGjzForm>
<INPUT TYPE="radio" NAME="person.name" value="0" onclick="hideMC(0)">
<INPUT TYPE="text" NAME="text0" disabled><BR>
<INPUT TYPE="radio" NAME="person.name" value="1" onclick="hideMC(1)">
<INPUT TYPE="text" NAME="text1" disabled><BR>
<INPUT TYPE="radio" NAME="person.name" value="2" onclick="hideMC(2)">
<INPUT TYPE="text" NAME="text2" disabled><BR>
<INPUT TYPE="radio" NAME="person.name" value="3" onclick="hideMC(3)">
<INPUT TYPE="text" NAME="text3" disabled><BR>
<INPUT TYPE="radio" NAME="person.name" value="4" onclick="hideMC(4)">
<INPUT TYPE="text" NAME="text4" disabled>
</form>
</body>

----