阻止用户单击RadioButton

时间:2012-03-21 05:52:13

标签: javascript asp.net

在我的表单中,我有一些TextBoxes。一旦TextBox的值改变,那么将选择相应的RadioButton。但我想阻止用户更改RadioButton的值。 我试过像这样禁用。

 optA.Attributes.Add("disabled", "disabled");

但是这个脚本会使看起来不太好的无线电按钮变灰。是否有任何脚本可以阻止用户点击/更改所选的radiobutton值?

小例子是

totalval=document.getElementById('txt1').value+document.getElementById('txt2').value
if (totalval>101)
document.getElementById('optA1').checked=true;
else if(totalval<100)
document.getElementById('optA2').checked=true;

这就是我想要的。所以用户不应该改变radiobuttons的值(optA1,optA2) 如果我正在使用

optA1.Attributes.Add("disabled", "disabled");

我无法在服务器端获得optA1的值。 我的aspx代码是

<asp:RadioButton ID="optA1" GroupName="optAchieve" runat="server" Text="30" value="30" onclick="indicateColor()" />
<asp:RadioButton ID="optA2" GroupName="optAchieve" runat="server" Text="20" value="20" onclick="indicateColor()" />

3 个答案:

答案 0 :(得分:2)

尝试通过onclick事件阻止用户操作,如下所示:

optA.Attributes.Add("onclick", "return false;");

答案 1 :(得分:1)

你必须点击单选按钮上的javascript,无论选择哪个选项,总是从javascript中选择默认选项。

答案 2 :(得分:1)

在每次点击时附加一个readonly类并更改单选按钮的属性以取消选中。

<input type="radio" id="radio1" name="radio" class="readonlyradio">
<input type="radio" id="radio2" name="radio" class="readonlyradio">​

在JS中使用此功能:

  $(".readonlyradio").click(function(){
$(this).attr('checked', false);
  });​

检查这个小提琴:http://jsfiddle.net/Xwtvp/

希望它有所帮助。