0

次のように定義されたチェックボックスとradiobuttonlistがあります。

<asp:CheckBox id="chkChange" runat="server" text="Enable" />
<br />
<asp:RadioButtonList id="rblConsole" runat="server" cssclass="console">
    <asp:ListItem text="XBox 360" value="xbox" />
    <asp:ListItem text="Playstation 3" value="playstation" />
</asp:RadioButtonList>

これらのコントロールはマスターページのあるコンテンツページにあるため、レンダリングされる実際のhtmlは次のようになります。

<table id="ctl00_ContentPlaceHolder1_rblConsole" class="console" border="0">
    <tr>
        <td><input id="ctl00_ContentPlaceHolder1_rblConsole_0" type="radio" name="ctl00$ContentPlaceHolder1$rblConsole" value="xbox" /><label for="ctl00_ContentPlaceHolder1_rblConsole_0">XBox 360</label>
        </td>
    </tr>
    <tr>
        <td><input id="ctl00_ContentPlaceHolder1_rblConsole_1" type="radio" name="ctl00$ContentPlaceHolder1$rblConsole" value="playstation" /><label for="ctl00_ContentPlaceHolder1_rblConsole_1">Playstation 3</label>
        </td>
    </tr>
</table>

javascriptで、チェックボックスをクリックして、rblConsoleラジオボタンリストのラジオボタンを無効にします。

jQueryのendswithセレクターを介してラジオボタンを取得しようとしています。

function ToggleEnabled() {
        var isChecked = $("*[id$='chkChange']").is(":checked");
        if (isChecked) {
            $("*[name$='rblConsole'").removeAttr("disabled");
        } else {
            $("*[name$='rblConsole'").attr("disabled", "disabled");
        }
    }

では、jQueryを介してこれらを無効にする方法は?

4

4 に答える 4

3

まず、属性セレクターでアポストロフィを削除します

function ToggleEnabled() {
        var isChecked = $("*[id$='chkChange']").is(":checked");
        if (isChecked) {
            $("*[name$=rblConsole").removeAttr("disabled");
        } else {
            $("*[name$=rblConsole").attr("disabled", "disabled");
        }
    }

次に、コントロールのClientIDプロパティを使用して要素IDを取得することをお勧めします。

function ToggleEnabled() {
        var isChecked = $("#<%=chkChange.ClientID %>").is(":checked");
        if (isChecked) {
            $("#<%=rblConsole.ClientID %>").removeAttr("disabled");
        } else {
            $("#<%=rblConsole.ClientID %>").attr("disabled", "disabled");
        }
    }
于 2009-04-24T22:42:18.430 に答える
1

セレクターに閉じ角かっこがありませんでした。そのはず:

$("*[name$='rblConsole']").attr("disabled", "disabled");

ドー!私の悪い。

于 2009-04-24T23:54:03.483 に答える
0

以下のコードは私のために働きます、

無効にする場合

$("table[id$=<%= rblConsole.ClientID %>] input").attr("disabled", "disabled");

有効にする場合

$("table[id$=<%= rblConsole.ClientID %>] input").removeAttr("disabled");
于 2018-07-26T05:12:44.560 に答える
-1

これを確認してください:

$("input[type=radio][value=EIN]").prop("disabled", true);
于 2015-08-07T08:25:50.230 に答える