2013-02-19 42 views
0

根据所选选项的类型,我希望显示1或3个文本区域,即 如果选择选项“mc”,我希望显示3个文本区域。 我正在尝试在Javascript中执行此操作,但是3个文本区域都显示了所选的每个选项。我认为JS功能不起作用。请让我知道错误在哪里。如何根据条件选择文本区域的数量

谢谢。

代码:

<head>   
    <link href="./css.css" rel="stylesheet" type="text/css" /> 
</head> 
<body>   
    <h:form>     
     <script type="text/javascript"> 
       function selectans(qtype) {       
       if (qtype == "mc") 
       { 
        alert("In MC type"); 
        document.getElementById("formId:editor3").style.display = "block"; 
        document.getElementById("formId:editor4").style.display = "block"; 
        //document.form.editor3.disabled = false; 
        //document.form.editor4.disabled = false;        
       } 
       else { 

        document.getElementById("formId:editor3").style.display = "none"; 
        document.getElementById("formId:editor4").style.display = "none"; 
        //document.form.editor3.disabled = true; 
        //document.form.editor4.disabled = true; 
       } 
       }                
     </script> 

     Question Type: 
     <h:selectOneMenu id="qtype" value ="#{quizBean.qtype}" onchange="selectans(qtype) "> 
      <f:selectItem id="desc" itemLabel="Descriptive Type" itemValue="desc" /> 
      <f:selectItem id="fill" itemLabel="Fill up the Blanks" itemValue="fill" /> 
      <f:selectItem id="mc" itemLabel="Multiple Choice" itemValue="mc" /> 
      <f:selectItem id="tf" itemLabel="True/False" itemValue="tf" /> 
     </h:selectOneMenu> 

     Question:        <h:inputTextarea id="editor1" value="#{quizBean.question}" rows="20" cols="75" /> <br></br> 

     Answer: 
      <h:inputText id ="editor2" value="#{quizBean.answerChoice2}" /> 
      <h:inputText id ="editor3" value="#{quizBean.answerChoice2}" /> 
      <h:inputText id ="editor4" value="#{quizBean.answerChoice3}" />               

      <h:commandButton value="Submit" action="#{quizBean.addQuestion}" /> 
</h:form>   

</body> 

CSS:

root { 
    display: block; 
} 

.hide { 
    display: none; 
} 
+0

外接显示器通过:无属性,加载时只显示第一个textarea框,然后点击调用其他textare a基于点击 – EnterJQ 2013-02-19 05:43:04

+0

我在CSS中添加了display:none属性,并且链接了html的头部的css – Shilpa 2013-02-19 05:57:30

回答

1

您的活动功能应该是这样的onchange="selectans('qtype') "这样,只有一个字符串作为参数

+0

感谢您的建议。建议进行更改。它进入JS功能,但选择其他2文本区域没有发生。 – Shilpa 2013-02-19 05:52:40

+0

我对jsf不熟悉。你可以测试这些document.getElementById(“editor3”)。style.display document.getElementById(“editor4”)。style.display – 999k 2013-02-19 06:03:37

+0

不,它没有wrk要么:( – Shilpa 2013-02-19 06:08:03

相关问题