0

这是我的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 将被禁用。

我怎样才能做到这一点?

4

2 回答 2

1

将单选按钮值绑定到托管 bean 属性,并用于<f:ajax>在单选按钮更改时发送 ajax 请求和更新部分视图,并使用disabled属性来禁用<h:inputText>取决于所选单选按钮项值的选项。

例如

<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;

    // ...
}
于 2012-05-04T13:35:19.667 回答
0

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

<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>
于 2012-05-04T12:13:37.270 回答