Javascript 如果名称和值不相同,则禁用所有其他单选按钮

Javascript 如果名称和值不相同,则禁用所有其他单选按钮,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在制作一个表单,如果单选按钮name或Id或class名称彼此不相同,我需要禁用所有其他单选按钮并提交按钮 ID或name或class,我是通过动态方式生成的。(name=radio\u 1,id=radio\u 1) 或 如果我点击Group-1单选按钮,那么其他组应该被禁用 请看一看 <label class="radio-inline"> <input type="radio" name="start_<?=$value['task_id']?>" cla

我正在制作一个表单,如果单选按钮
name
Id
class
名称彼此不相同,我需要禁用所有其他单选按钮并提交按钮

ID
name
class
,我是通过动态方式生成的。(
name=radio\u 1
id=radio\u 1

如果我点击Group-1单选按钮,那么其他组应该被禁用

请看一看

<label class="radio-inline">
<input type="radio" name="start_<?=$value['task_id']?>" class="group_<?=$value['task_id']?>" value="start_<?=$value['task_id']?>">
<input type="radio" name="start_<?=$value['task_id']?>" class="group_<?=$value['task_id']?>" value="start_<?=$value['task_id']?>">
<input type="submit" name="start_<?=$value['task_id']?>" value="Save" class="btn sm btn-primary group_<?=$value['task_id']?>">
</label>

<label class="radio-inline">
<input type="radio" name="start_<?=$value['task_id']?>" class="group_<?=$value['task_id']?>" value="start_<?=$value['task_id']?>">
<input type="radio" name="start_<?=$value['task_id']?>" class="group_<?=$value['task_id']?>" value="start_<?=$value['task_id']?>">
<input type="submit" name="start_<?=$value['task_id']?>" value="Save" class="btn sm btn-primary group_<?=$value['task_id']?>">
</label>

请指导我如何才能做到这一点

您可以将属性选择器与
一起使用=
以获取标签内具有特定类的所有其他输入,如下面的代码段中所示。我选择了
class='radio-inline
中的所有输入,这样它就不会影响页面上的其他输入标记

下面是您可以使用的代码段。希望这对你有帮助

$(文档).ready(函数(){
$(“输入:收音机”)。单击(函数(){
$(“.radio内联输入[name!=”+$(this.val()+”])).prop('disabled',true);
});
});

您可以将属性选择器与
一起使用=
以获取标签内具有特定类的所有其他输入,如下面的代码段中所示。我选择了
class='radio-inline
中的所有输入,这样它就不会影响页面上的其他输入标记

下面是您可以使用的代码段。希望这对你有帮助

$(文档).ready(函数(){
$(“输入:收音机”)。单击(函数(){
$(“.radio内联输入[name!=”+$(this.val()+”])).prop('disabled',true);
});
});

试试这个:-

$(document).ready(function() {
    $("input:radio").click(function() {

        var val = $(this).val();

        var class_name = $(this).attr('class');
        var name = $(this).attr('name');

        //disable radio by class name
        $('input:radio').each(function() {
            if ($(this).attr('class') != class_name) {
                $(this).attr("disabled", true);
            } else {
                $(this).attr("disabled", false);
            }
        });

        //disable button by  name
        $('input:submit').each(function() {

            if ($(this).attr('name') != name) {
                $(this).attr("disabled", true);
            } else {
                $(this).attr("disabled", false);
            }
        });

    });

});
试试这个:-

$(document).ready(function() {
    $("input:radio").click(function() {

        var val = $(this).val();

        var class_name = $(this).attr('class');
        var name = $(this).attr('name');

        //disable radio by class name
        $('input:radio').each(function() {
            if ($(this).attr('class') != class_name) {
                $(this).attr("disabled", true);
            } else {
                $(this).attr("disabled", false);
            }
        });

        //disable button by  name
        $('input:submit').each(function() {

            if ($(this).attr('name') != name) {
                $(this).attr("disabled", true);
            } else {
                $(this).attr("disabled", false);
            }
        });

    });

});
试试这个:

试试这个:

试试这个:

$(document).on("click", "input[type='radio']", function() {
  var val = $(this).val();
  $("input[type='radio']").each(function() {
    var name = $(this).attr('name');
    if (val != name) {
      $(this).attr("disabled", true);
    } else {
      $(this).attr("disabled", false);
    }
  });
});
试试这个:

$(document).on("click", "input[type='radio']", function() {
  var val = $(this).val();
  $("input[type='radio']").each(function() {
    var name = $(this).attr('name');
    if (val != name) {
      $(this).attr("disabled", true);
    } else {
      $(this).attr("disabled", false);
    }
  });
});

如果
id
名称
不相同,我无法理解您试图实现的功能。我想您应该以不同的方式设置/删除“disabled”(已禁用)。这是否回答了您的问题:?我想要-如果我单击Group-1单选按钮,那么其他组应该被禁用。我不明白您试图实现什么。如果
id
name
class
不相同,您想要禁用所选的收音机。我认为您应该以不同的方式设置/删除“disabled”。这是否回答了您的问题:?我想要-如果我单击Group-1单选按钮,则其他组应被禁用。disable是一个属性,您不能对其使用attr。您正在禁用ready本身上的所有输入单选和提交按钮。@Makarand Patil,我对输入使用了“单击事件”:radiodisable是一个属性,您不能对其使用attr。您正在禁用“准备就绪”上的所有“输入单选和提交”按钮。@Makarand Patil,我对输入使用了“单击事件”:RadioSerioly buddy。这是另一个答案的复制粘贴。谢谢Makarand,但我对Stackoverflow社区来说确实是个新手,还不知道如何复制粘贴:-)真的,伙计。这是另一个答案的复制粘贴。谢谢Makarand,但我对Stackoverflow社区来说确实是个新手,还不知道如何复制粘贴:-)
$(document).on("click", "input[type='radio']", function() {
  var val = $(this).val();
  $("input[type='radio']").each(function() {
    var name = $(this).attr('name');
    if (val != name) {
      $(this).attr("disabled", true);
    } else {
      $(this).attr("disabled", false);
    }
  });
});