Javascript 选中单选按钮时删除Div属性

Javascript 选中单选按钮时删除Div属性,javascript,jquery,html,css,radio-button,Javascript,Jquery,Html,Css,Radio Button,我对JavaScript非常陌生,不太清楚自己在做什么。我发现了一些有用的代码,当从下拉列表中选择某个值时,可以删除/插入Div的属性。我想修改此代码,以便在选择单选按钮时更改属性 以下是我目前掌握的代码: function pageLoad(sender, args) { if (args.get_isPartialLoad()) { var rangeType = $('#<%= DateRangeList.ClientID%>').val();

我对JavaScript非常陌生,不太清楚自己在做什么。我发现了一些有用的代码,当从下拉列表中选择某个值时,可以删除/插入Div的属性。我想修改此代码,以便在选择单选按钮时更改属性

以下是我目前掌握的代码:

function pageLoad(sender, args) {
    if (args.get_isPartialLoad()) {
        var rangeType = $('#<%= DateRangeList.ClientID%>').val();
        if (rangeType == 6) {
            $('#DatePeriodRow').removeAttr("style");
        }
        else {
            $('#DatePeriodRow').attr("style", "display: none;");
        }
    }
}


$(document).ready(function () {
    $('#<%= DateRangeList.ClientID %>').live("change", function() {
        var rangeType = $('#<%= DateRangeList.ClientID %>').val();
        if (rangeType == 6) {
            $('#DatePeriodRow').removeAttr("style");
        }
        else {
            $('#DatePeriodRow').attr("style", "display: none;");
        }
    });
})
函数页面加载(发送方,参数){
if(args.get_isPartialLoad()){
var rangeType=$('#').val();
如果(rangeType==6){
$(“#DatePeriodRow”).removeAttr(“样式”);
}
否则{
$('#DatePeriodRow').attr(“样式”,“显示:无;”);
}
}
}
$(文档).ready(函数(){
$('#').live(“更改”,函数(){
var rangeType=$('#').val();
如果(rangeType==6){
$(“#DatePeriodRow”).removeAttr(“样式”);
}
否则{
$('#DatePeriodRow').attr(“样式”,“显示:无;”);
}
});
})
我一直在尝试各种方法来重建代码,以满足我的需要,但迄今为止运气不佳。我也用谷歌搜索了很多次,但都没有用。我经常收到“Propery/Value为null或undefined”消息,我不知道如何调试java方面的东西

任何和所有的帮助将不胜感激

而不是使用
$(“#DatePeriodRow”).removeAttr(“样式”)使用
$('#DatePeriodRow').css(“显示”、“无”)以隐藏div和

$('#DatePeriodRow').css(“显示”、“块”)
显示div

如果您试图显示hide和element,Raki的答案就可以了。你也可以这样表达:

$('#DatePeriodRow').hide(); // Hide Div
$('#DatePeriodRow').show(); // Show Div
首先,如果您的属性/值未定义或为空,则您的选择器可能有问题。即以下行:

$('#<%= DateRangeList.ClientID %>')
$(“#”)
看起来像ASP,如果这是要在该环境中运行的,可能代码计算不正确,这给了您错误的jQuery选择器

还有一件事
检查您正在使用的jQuery版本,
.live()
已被弃用,较新版本使用
。在

上,ASP单选按钮列表呈现为包含类型为“Radio”的html输入的表。所以您需要向选择器添加“输入”。下面的代码在加载文档时为每个单选按钮分配处理程序,并检查其中一个按钮是否已被选中。如果是-则触发“更改”事件以触发处理程序。希望能有帮助

$(document).ready(function ()
    {
        $('#<%=DateRangeList.ClientID%> input').bind("change",
            function ()
            {
                if ($(this).val() == "6") {
                    $("#DatePeriodRow").show();
                }
                else {
                    $("#DatePeriodRow").hide();
                }
            });

        var checkedButton = $('#<%=DateRangeList.ClientID%> input[checked]').first();
        if (checkedButton.val())
        {
            checkedButton.trigger("change");
        }
    });
$(文档).ready(函数()
{
$(“#输入”).bind(“更改”,
函数()
{
如果($(this.val()=“6”){
$(“#DatePeriodRow”).show();
}
否则{
$(“#DatePeriodRow”).hide();
}
});
var checkedButton=$(“#输入[检查]”).first();
if(checkedButton.val())
{
选中按钮。触发(“更改”);
}
});

谢谢您的建议。如果您对上述答案感到困惑,请查看此示例。我将脚本放在ASP.net文档的何处重要吗?我看了你的提琴并试图复制,但到目前为止运气不佳。不,因为这段代码将在tagcan中编写。我可以知道$(“#DatePeriodRow”)是什么吗?无论是html元素还是aspx元素。你是100%对的,Matt,我知道我的问题在于我的选择器。我已经做了很多更改,但是我仍然无法确定为什么我的脚本似乎看不到单选按钮对象。HTML输出是什么样子的?我对我的.NET技能(PHP开发)非常生疏,但我可能可以从HTML的角度帮助你。对不起,Matt,你说的HTML输出是什么意思?您需要什么?当您在浏览器中查看此页面并检查源代码时,该单选按钮的HTML是什么样子的?哦,我明白了,对不起。在运行时创建的标记语言让我的头脑有些崩溃。我注意到输入标记中的“name”属性是“ctl00$ContentPlaceHolder1$Rads”。这是一段时间