无法在另一个打孔单选按钮后禁用单选按钮

时间:2014-07-09 11:32:18

标签: jquery

我有一个单选按钮和一个包含许多单选按钮的表。我正在点击页面加载时的单选按钮。

然后在条件的基础上我禁用表格中每一行的第一个单选按钮。下面是我正在使用的代码,但是没有单选按钮正在打孔,也没有其他人被禁用。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    $(document).ready(function
        $("#Q6x1_8").prop('checked',true);
        if($("#Q6x1_8").is(':checked'))
          $('tr td').find('input[type=radio']).first().prop('disabled',true);
    });
</script>
</head>
<body>
<input type='radio' id='Q6x1_8'>Click<p>
<table border='1'>

<tr>
<td>Test1</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

<tr>
<td>Test2</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

<tr>
<td>Test3</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

<tr>
<td>Test4</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

<tr>
<td>Test5</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

<tr>
<td>Test6</td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
<td><input type="radio"></td>
</tr>

</table>
</body>
</html> 

5 个答案:

答案 0 :(得分:1)

如果我理解正确,

$(document).ready(function () {
$("#Q6x1_8").prop('checked', true);
 if($("#Q6x1_8").is(':checked')) {
    $('tr td:nth-child(2)').children('input[type="radio"]').attr('disabled', true);
 }
});

Demo

答案 1 :(得分:0)

  • $(document).ready(function应该是 $(document).ready(function(){
  • 不会使用if条件,它永远都是真的。

使用此,

$(document).ready(function () {
    $("#Q6x1_8").prop('checked', true);

    $('tr').each(function () {
        $(':radio:first',this).prop('disabled', true);
    });
});

<强> Demo

答案 2 :(得分:0)

$(document).ready(function
        $("#Q6x1_8").prop('checked',true);
        if($("#Q6x1_8").is(':checked'))
          $('tr td input:radio:first').prop('disabled',true);
    });

这样做

答案 3 :(得分:0)

你需要一个这样的循环:

<强> JS

$("#Q6x1_8").prop('checked',true);

    $("table tr").each(function(){
            if($("#Q6x1_8").is(':checked'))
                $(this).find('input[type="radio"]').first().prop('disabled',true);
                    });

fiddle

备选您可以使用复选框,并在选中radios时启用/禁用checkbox

$("#Q6x1_8").on("change", function(){
    $("table tr").each(function(){
            if($("#Q6x1_8").is(':checked'))
                $(this).find('input[type="radio"]').first().prop('disabled',true);
            else
                $(this).find('input[type="radio"]').first().prop('disabled',false);
                    });
});

fiddle

答案 4 :(得分:0)

使用nth-child选择元素

$('tr td:nth-child(2) :radio').prop('disabled', true);

DEMO