флажок отключен / включен, если установлен другой флажок в одном ряду - PullRequest
0 голосов
/ 18 октября 2011

Я все еще путаюсь с селектором jQuery.

У меня есть эта таблица:

<table boreder="5" width="100%">
<tbody>
    <tr>
        <td width="5%"></td>
        <td width="15%">Menu</td>
        <td width="15%">Create</td>
        <td width="15%">Retrieve</td>
        <td width="15%">Update</td>
        <td width="15%">Delete</td>
    </tr>
    <tr>
        <td width="5%"><input type="checkbox" name="menu_cd[]" /></td>
        <td width="15%">SISTEM</td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
    </tr>
     <tr>
        <td width="5%"><input type="checkbox" name="menu_cd[]" /></td>
        <td width="15%">ADMIN</td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
        <td width="15%"><input type="checkbox" disabled name="rule_tp[]" /></td>
    </tr>
</tbody>
</table>

если я установил флажок слева, другой флажок в той же строке будет включен, и наоборот и я попробую с этим сценарием:

$(document).ready(function() {

$("input[name=menu_cd[]]").live("click", function({
      if(!$(this).is(":checked")){
            $("").attr("disabled", true);
      }else{
            $("").removeAttr("disabled");
      }    
}));

Мне нужна помощь, чтобы заполнить селектор!

Ответы [ 2 ]

0 голосов
/ 18 октября 2011

сначала вы должны изменить имя всего тега "blabla_cd []" на "balbla_cd"

$(document).ready(function() {
    $("input[name=menu_cd]").live("click", function(){
        var o = $(this).parent().parent().children().find("input[name=rule_tp]");
        if ($(this).attr("checked") == "checked") {
            $.each(o, function(){
                $(this).removeAttr("disabled");
            });
        } else {
            $.each(o, function(){
                $(this).removeAttr("checked").attr("disabled", "disabled");
            });
        }
    });
 });


</head>
<body>
    <table border="5" width="100%">
        <tbody>
            <tr>
                <td width="5%"></td>
                <td width="15%">Menu</td>
                <td width="15%">Create</td>
                <td width="15%">Retrieve</td>
                <td width="15%">Update</td>
                <td width="15%">Delete</td>
            </tr>
            <tr>
                <td width="5%"><input type="checkbox" name="menu_cd" /></td>
                <td width="15%">SISTEM</td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
            </tr>
            <tr>
                <td width="5%"><input type="checkbox" name="menu_cd" /></td>
                <td width="15%">ADMIN</td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
                <td width="15%"><input type="checkbox" disabled name="rule_tp" /></td>
            </tr>
        </tbody>
    </table>
0 голосов
/ 18 октября 2011

HTML:

<table width="100%" id="menu">
<tbody>
    <tr>
        <td width="5%"></td>
        <td width="15%">Menu</td>
        <td width="15%">Create</td>
        <td width="15%">Retrieve</td>
        <td width="15%">Update</td>
        <td width="15%">Delete</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="menu_cd[]" /></td>
        <td>SYSTEM</td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
    </tr>
     <tr>
        <td><input type="checkbox" name="menu_cd[]" /></td>
        <td>ADMIN</td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
        <td><input type="checkbox" name="rule_tp[]" /></td>
    </tr>
</tbody>
</table>

JS:

$(document).ready(function() {
    $('#menu tr').each(function() {
        $(this).find('input[type=checkbox]:first').click(function() {
            $(this).parents('tr')
                .find("input[type=checkbox]:gt(0)")
                .attr("disabled", !$(this).is(":checked"));
        });
    })
    .find('input[type=checkbox]:gt(0)').attr("disabled", true);
});

Попробуйте: http://jsfiddle.net/qaKGk/10/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...