0

ドロップダウン リストから選択したオプションに基づいて、無効および有効にしたいラジオ ボタン オプションがあります。ラジオ ボタン オプションを最初は無効にしていますが、ドロップダウン リストで選択したオプションに基づいて有効にしようとしても、何も起こりません。これについて助けてもらえますか: HTML:

            <asp:DropDownList runat="server" ID="ddl1">
                  <asp:ListItem Text="Please Select" Value="0" />
                  <asp:ListItem Text="1" Value="1" />
                  <asp:ListItem Text="2/Staff" Value="2" />
                  <asp:ListItem Text="3" Value="3" />                      
                  <asp:ListItem Text="4" Value="4" />
                  <asp:ListItem Text="5" Value="5" />                     
            </asp:DropDownList> 
          <asp:RadioButtonList runat="server" ID="rbPType" ClientIDMode="Static">
                     <asp:ListItem Value="0" Text="T0"></asp:ListItem>
                     <asp:ListItem Value="1" Text="1"></asp:ListItem>
                     <asp:ListItem Value="2" Text="2"></asp:ListItem>
                 </asp:RadioButtonList>

JS:

$('#rbPType_1').attr("disabled", true);
$('#ddl1').change(function () {

    if ($(this).children('option:selected').text() == "2")
    {
        $('#rbPType_1').attr("disabled", false);
    }
    else
    {
        $('#rbPType_1').attr("disabled", true);
    }

});

PS: 私の当初の意図は、オプションに基づいてこれを非表示にして表示することでしたが、踏みにじられました。したがって、有効または無効にするのではなく、非表示および表示する方法があれば、本当に助けていただければ幸いです。

4

4 に答える 4

2

を使用して、ドロップダウンリストの選択された値を取得できます.val()

<asp:DropDownList runat="server" ID="ddl1">
    <asp:ListItem Text="Please Select" Value="0" />
    <asp:ListItem Text="1" Value="1" />
    <asp:ListItem Text="2/Staff" Value="2" />
    <asp:ListItem Text="3" Value="3" />
    <asp:ListItem Text="4" Value="4" />
    <asp:ListItem Text="5" Value="5" />
</asp:DropDownList>
<asp:RadioButtonList runat="server" ID="rbPType" ClientIDMode="Static">
    <asp:ListItem Value="0" Text="T0"></asp:ListItem>
    <asp:ListItem Value="1" Text="1"></asp:ListItem>
    <asp:ListItem Value="2" Text="2"></asp:ListItem>
</asp:RadioButtonList>
<script>
    $('#rbPType_1').attr("disabled", true);
    $('#ddl1').change(function () {

        if ($(this).val() == '2') {
            $('#rbPType_1').attr("disabled", false);
        }
        else {
            $('#rbPType_1').attr("disabled", true);
        }

    });
</script>
于 2013-03-25T19:18:05.107 に答える
0

これをJSとして試してください:

$('#rbPType_1').hide();
$('#ddl1').change(function () {
    if ($(this).val() == ("2"||"2/Staff")) {
        $('#rbPType_1').show();
    } else {
        $('#rbPType_1').hide();
    }
});

それはうまくいくはずです

于 2013-03-25T19:02:07.193 に答える
0
$('#rbPType_1').attr('disabled', 'disabled');
$('#ddl1').on('change',function () {
    if($(this).val()=='2'){
        $('#rbPType_1').removeAttr('disabled');
    }else{
        $('#rbPType_1').attr('disabled','disabled');
    }
})
于 2013-03-25T19:02:41.180 に答える
0

これを試して

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
        Height="28px" onselectedindexchanged="DropDownList1_SelectedIndexChanged" 
        Width="100px">
        <asp:ListItem>Value one</asp:ListItem>
        <asp:ListItem>Value Two</asp:ListItem>
    </asp:DropDownList>

イベントを設定します

 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (DropDownList1.SelectedIndex == 0)
    {
        RadioButton1.Checked = true;
    }
    else
    {
        RadioButton1.Checked = false;
    }
}

これを試して、必要に応じて実装してください。

于 2013-03-25T19:44:59.790 に答える