【问题标题】:jQuery disable the last checkboxjQuery禁用最后一个复选框
【发布时间】:2014-04-09 16:49:18
【问题描述】:

看看我的部分脚本。

它用于我从 PHP 脚本中填充的一系列复选框。渲染后的HTML 看起来像这样:

<input type='checkbox' value='3' id='checkbox-id-3' name='selectCityCheckbox[]' checked><label for='checkbox-id-3'>Description</label>
<input type='checkbox' value='5' id='checkbox-id-5' name='selectCityCheckbox[]' checked><label for='checkbox-id-5'>Description</label>
<input type='checkbox' value='7' id='checkbox-id-5' name='selectCityCheckbox[]'><label for='checkbox-id-7'>Description</label>

我现在需要一个禁用最后一个可用复选框并使其不可点击的功能。该函数应在每次点击和 DOM 加载时调用。

一些 jQuery:

var $eye = $('#eye');
var $eyeDropdown = $('#eyeDropdown');
var $checkboxes = $eyeDropdown.find(':checkbox');
var $eyeCheckedBoxes = $('#eyeDropdown :checkbox:checked');

$checkboxes.on('click', update);
function update() {
    $wrapper.html($img);
    var checkbox = $(this);
    var value = checkbox.val();
    if ($(this).is(':checked')) {
        var viewOnlineValue = 1;
    } else {
        $(this).is(':checked');
        var viewOnlineValue = 0;
    }
    $.ajax({
        /*ajax stuff*/

    });
    lockLastCheckbox();        
}

我现在正在处理一个函数,但它似乎没有从update() 函数中注册$(this).is(':checked'); 的更改,因此没有从变量sumChecked 中添加或删除任何内容

function lockLastCheckbox() {
    var sumChecked = $eyeCheckedBoxes.length;
    console.log(sumChecked);
}

【问题讨论】:

    标签: jquery ajax checkbox click


    【解决方案1】:

    在其他部分使用prop()check 你的checkbox

    var viewOnlineValue;
    if ($(this).is(':checked')) {
        viewOnlineValue = 1;
    } else {
        $(this).prop('checked',true);
        viewOnlineValue = 0;
    }
    

    另类

    ....
    else {
        this.checked=true;
        viewOnlineValue = 0;
    }
    

    【讨论】:

    • 是的,我试过了,但这对变量 sumChecked 没有影响
    • 您需要在update() 函数中传递复选框对象。并删除this
    【解决方案2】:

    你应该使用的东西。

    $('input:checkbox:last').prop('disabled', true);
    

    【讨论】:

    • 这将禁用最后呈现的复选框。不是真的帮我。也许我的问题不清楚,但我希望禁用最后一个可用的复选框,即唯一一个值为 checked
    • 我在jsfiddle.net/PZjT6 找到的东西在这里最后一个复选框用 jquery 禁用。
    猜你喜欢
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多