Javascript 复选框禁用少量更改时选择

Javascript 复选框禁用少量更改时选择,javascript,jquery,html,checkbox,html-select,Javascript,Jquery,Html,Checkbox,Html Select,您好,我有Dynamicly生成的表,带有复选框和选择项。 现在我想禁用/启用复选框更改时的选择 我在找SCIRPT,但我发现的一切都不适合我 这是我的密码: <script> function toggleSelection(e){ var el = '#tsh' + e; var el1 = '#tsm' + e; var el2 = '#teh' + e;

您好,我有Dynamicly生成的表,带有复选框和选择项。 现在我想禁用/启用复选框更改时的选择

我在找SCIRPT,但我发现的一切都不适合我

这是我的密码:

<script>
            function toggleSelection(e){
                var el = '#tsh' + e;
                var el1 = '#tsm' + e;
                var el2 = '#teh' + e;
                var el3 = '#tem' + e;
                if ($(this).is(':checked')) {
                    $(el).attr('disabled', 'disabled');
                    $(el1).attr('disabled', 'disabled');
                    $(el2).attr('disabled', 'disabled');
                    $(el3).attr('disabled', 'disabled');
                } else {
                    $(el).removeAttr('disabled');
                    $(el1).removeAttr('disabled');
                    $(el2).removeAttr('disabled');
                    $(el3).removeAttr('disabled');
                }
            }
        </script>
        <tr class="form-group">
            <td><label><input type="checkbox" name="day[]" value="{value}" id="dc{value}" onchange="toggleSelection('{value}')" {chk}> {name}</label></td>
            <td><select id="tsh{value}" class="form-control" {dis} name="tsh{value}" style="display: inline-block; width: 100%">
            </select></td>
            <td><select id="tsm{value}" class="form-control" {dis} name="tsm{value}" style="display: inline-block; width: 100%">
            </select></td>
            <td><select id="teh{value}" class="form-control" {dis} name="teh{value}" style="display: inline-block; width: 100%">
            </select></td>
            <td><select id="tem{value}" class="form-control" {dis} name="tem{value}" style="display: inline-block; width: 100%">
            </select></td>
        </tr>

功能切换选择(e){
var el='#tsh'+e;
变量el1='#tsm'+e;
var el2='#teh'+e;
变量el3='#tem'+e;
如果($(this).is(':checked')){
$(el).attr('disabled','disabled');
$(el1.attr('disabled','disabled');
$(el2.attr('disabled','disabled');
$(el3.attr('disabled','disabled');
}否则{
$(el).removeAttr('禁用');
$(el1).removeAttr('disabled');
$(el2).removeAttr('disabled');
$(el3).removeAttr('disabled');
}
}
{name}
当然,选择之间也有选择。Tis代码可以工作,但只有一种方式可供其启用选择,但不想禁用它们。

尝试执行以下操作:

$( yourElement ).prop('disabled', true);
$(':checkbox').on('change', function () {
    $(this).closest('tr').find('select').prop('disabled', this.checked);
});

我建议你这样做:

$( yourElement ).prop('disabled', true);
$(':checkbox').on('change', function () {
    $(this).closest('tr').find('select').prop('disabled', this.checked);
});

编写了一个简单的示例,演示如何根据是否选中复选框来启用/禁用select元素

html:

希望这有帮助

试试这个

$('.form-group input[type=checkbox]').click(function(){

    if($(this).is(':checked')) {
        $('.form-group select').attr('disabled', true);

    } else {

        $('.form-group select').attr('disabled', false);
    }

})

这里有一些无效的html。。。