【问题标题】:SelectOneRadio and Disable inputTextSelectOneRadio 并禁用 inputText
【发布时间】:2012-05-04 11:30:43
【问题描述】:

这是我的 html 代码。

        <table >
            <tr>
                <th rowspan="3">
                        <h:selectOneRadio layout="pageDirection"
                        onClick="alert('selam')" id="selectOneRadio">
                        <f:selectItem itemValue="Categori" itemLabel="Radio 1" />
                        <f:selectItem itemValue="Service" itemLabel="Radio 2" />
                        <f:selectItem itemValue="Follower" itemLabel="Radio 3" />
                    </h:selectOneRadio>
                </th>
                <td>
                <h:inputText value="inputText 1" />
                </td>
            </tr>
            <tr>
                <td>
                <h:inputText value="inputText 2" />
                </td>
            </tr>
            <tr>
                <td>
                <h:inputText value="inputText 3" />
                </td>
            </tr>               

        </table>

我想选择其中一个单选按钮。当我单击其中一个时,我希望禁用 inputText。

例如:

  • 如果我点击 Radio 1 ,那么输入 Text 1 将被禁用。
  • 如果我点击 Radio 2 ,那么输入 Text 2 将被禁用。
  • İ如果我单击 Radio 3 ,则输入 Text 3 将被禁用。

我该怎么做?

【问题讨论】:

    标签: html jsf jsf-2 facelets


    【解决方案1】:

    将单选按钮值绑定到托管 bean 属性,并使用 &lt;f:ajax&gt; 发送 ajax 请求并在单选按钮更改时更新部分视图,并使用 disabled 属性禁用 &lt;h:inputText&gt;,具体取决于所选单选按钮项目值。

    例如

    <h:panelGroup id="inputs">
        <table>
            <tr>
                <th rowspan="3">
                    <h:selectOneRadio value="#{bean.radio}" layout="pageDirection">
                        <f:selectItem itemValue="Categori" itemLabel="Radio 1" />
                        <f:selectItem itemValue="Service" itemLabel="Radio 2" />
                        <f:selectItem itemValue="Follower" itemLabel="Radio 3" />
                        <f:ajax render="inputs" />
                    </h:selectOneRadio>
                </th>
                <td>
                    <h:inputText value="#{bean.input1}" disabled="#{bean.radio == 'Categori'}" />
                </td>
            </tr>
            <tr>
                <td>
                    <h:inputText value="#{bean.input2}" disabled="#{bean.radio == 'Service'}" />
                </td>
            </tr>
            <tr>
                <td>
                    <h:inputText value="#{bean.input3}" disabled="#{bean.radio == 'Follower'}" />
                </td>
            </tr>               
        </table>
    </h:panelGroup>
    

    与

    @ManagedBean
    @ViewScoped
    public class Bean {
    
        private String radio;
        private String input1;
        private String input2;
        private String input3;
    
        // ...
    }
    

    【讨论】:

      【解决方案2】:

      看看这个,我想这就是你要找的东西

      <html>
      <head>
      <script type="text/javascript">
          function enable_area(opt)
          {
              //get the required document element and disable corresponding element.
              document.form.textarea1.disabled = (opt == 'Categori' ? true : false);
              document.form.textarea2.disabled = (opt == 'service' ? true : false);
              document.form.textarea3.disabled = (opt == 'Follower' ? true : false);
          }
      </script>
      </head>
      <body>
          <form action="" method="post" name="form">
              <!--Pass the value field as selector when clicked on radio button-->
              Radio1 <input type="radio" name="radio" value="Categori" onclick="enable_area(this.value);" />
              <textarea name="textarea1"></textarea>
              <br />
              Radio2 <input type="radio" name="radio" value="service" onclick="enable_area(this.value);" />
              <textarea name="textarea2"></textarea>
              <br />
              Radio3 <input type="radio" name="radio" value="Follower" onclick="enable_area(this.value);" />
              <textarea name="textarea3"></textarea>
          </form>
      </body>
      </html>
      

      【讨论】:

        猜你喜欢
        • 2013-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多