2014-12-06 111 views
1

我有一个asp单选按钮,我想在JavaScript中将它设置为false。隐藏asp单选按钮文本

<asp:RadioButton ID="rad1" Text="my radio button" runat="server" GroupName="b" /> 

我想下面的代码在JavaScript中。

document.getElementById("rad1").style.visibility = "hidden"; 

但它只禁用单选按钮,但文本“我的单选按钮”是可见的。我试图设置文本,值属性为空白文本,但它没有工作。那么我怎样才能隐藏那个单选按钮的文字。

回答

3

这是因为:如果你想既隐藏你必须做一些事情

<input name="b" id="rad1" type="radio" value="rad1"> 
<label for="rad1">my radio button</label> 

所以:

<asp:RadioButton ID="rad1" Text="my radio button" runat="server" GroupName="b" /> 

实际呈现给(你可以查看源)如:

var rad1 = document.getElementById("rad1"); 
rad1.style.visibility = "hidden"; 
rad1.nextSibling.style.visibility = "hidden"; 

或更简单的方法是将单选按钮放在div例如,像:

<div id="foo"> 
    <asp:RadioButton ID="rad1" Text="my radio button" runat="server" GroupName="b" /> 
</div> 

,然后就去做:

document.getElementById("foo").style.visibility = "hidden"; 
+0

他的代码在asp.net中不是简单的html。 – 2014-12-06 07:39:32

+1

@suchit我明白,但是当你有ASP.NET服务器元素时,它会被翻译/渲染为“简单”html。 – 2014-12-06 07:40:37

-1

您可以使用jQuery隐藏它,

$('#rad1').parent().hide(); 

让我知道如果它工作或没有。它应该工作正常

+0

首先,他没有给它加'jquery'标签,其次是错误的。为什么隐藏父母? “收音机”按钮不嵌套在标签内。如果父母是表格呢?你要隐藏整个表单吗? – 2014-12-06 07:45:38

0

的jQuery 第一次尝试这个不要忘记添加jQuery的CDN在网页标题。

<head runat="server"> 
    <title></title> 
    <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
</head> 

而且功能会。 rdName =>为单选按钮标识

$('#rdName').css('display','none'); //Hide Radiobutton. 
$('label[For= "rdName"]').css('display','none'); //Hide Radiobutton Text. 

,你有另一种解决方案拖在了单选按钮,并给它一个ID。然后隐藏/显示它,然后单选按钮将被隐藏并显示它的文本。

0

你应该使用这种类型的代码来获取asp.net控件

document.getElementById('<%=rad1.ClientID %>').style.visibility = "hidden"; 

通过这个,你可以设置能见度为false。