用于启用/禁用字段的单选按钮

时间:2012-10-28 01:42:19

标签: javascript jquery jquery-selectors

我有一个包含几组单选按钮的表单。选择单选按钮将启用text字段,并禁用其余按钮。 我无法启用该字段。我已经尝试了几乎所有的功能(下一步,nextAll,nextUnit,find,findAll,最近......)但可能没有正确使用它们。

以下是只有一组按钮的测试:http://jsfiddle.net/QTseK/

同样在页面加载时,一些单选按钮已经被检查,我必须运行什么才能使其余的(未检查字段)被禁用?

由于

2 个答案:

答案 0 :(得分:1)

由于您的元素具有类属性,您可以使用类选择器选择它们,以启用/禁用表单元素,您可以使用prop方法。

$("body").on("click", "input[type='radio']", function() {
    $('.fieldSelector').prop('disabled', true);
    $(this).closest('tr').find('.fieldSelector').prop('disabled', false)
});

http://jsfiddle.net/AfRdj/

答案 1 :(得分:0)

jsFiddle

$("body").on("click", "input[type=radio]", function() {
   $(this).closest("table").find("input[type=text]").prop("disabled", true);
    $(this).closest("tr").find("input[type=text]").prop("disabled", false);

});​

您可以根据HTML添加/修改选择器。

另外,我不确定是否会将事件监听器放在正文上。如果元素在整个页面生命周期中都在DOM中,我认为我更喜欢这样的东西。 (最初页面上的元素是否有问题?)

$("input[type=radio]").on("click", function() {//you can change input[type=radio] to any other selector that you have already used
   $(this).closest("table").find("input[type=text]").prop("disabled", true);
    $(this).closest("tr").find("input[type=text]").prop("disabled", false);

});​