【问题标题】:Disable radio buttons based on value根据值禁用单选按钮
【发布时间】:2011-11-19 05:35:50
【问题描述】:

我想根据变量的值禁用单选按钮。应该禁用等于变量值的无线电。

例如:

<input type="radio" name="r1" value="a" />Value a
<input type="radio" name="r1" value="b" />Value b

因此,如果$variable = 'a'; 则应禁用具有值a 的单选按钮。

【问题讨论】:

  • 你可以通过 $('input[type="radio"]').val();然后将属性 disabled 设置为 true

标签: jquery radio


【解决方案1】:

试试-

var a = 'a';
$("input[type=radio][value=" + a + "]").prop("disabled",true);

var a = 'a';
$("input[type=radio][value=" + a + "]").attr("disabled",true);

如果您使用的是旧 jQuery 版本。

工作演示 - http://jsfiddle.net/FtwcL/1

【讨论】:

  • 不错,但您应该使用prop 来设置和获取评估为布尔值的属性。
  • @Shef - 我认为.prop 仅适用于 1.6 后版本的 jQuery 是否正确?
  • 谢谢,但我希望禁用添加到这样的代码中 &lt;input type="radio" name="r1" value="a" disabled /&gt;
  • @ipr101:是的,但这就是 OP 应该使用的任何一种方式。
  • @Ajay - jQuery 将“禁用”标志动态添加到 DOM,因此您不会在代码中看到它 - 如果您通过类似 Firebug 的方式查看源代码,您可能会看到“禁用”添加了标志。
【解决方案2】:

如果你想按名称和值禁用,你可以试试这个

var a = 'a';
var fieldName = 'r1';
$('input[type=radio][name=' + fieldName + '][value='+ a +']').prop('disabled', true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2017-06-30
    • 2019-02-18
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多