-1

我需要根据选中的复选框禁用/启用“a.href”链接。我有一个复选框列表(2 列)。When at least one checkbox in a column "install" is checked, "Install" link should be enabled, otherwise disabled. 当在“删除”列中至少选中一个复选框时,应启用具有相同类名的链接,否则禁用。

我已经尝试过了,但不确定这是否正确,它不起作用:

function refleshCheckboxes() {
    if ($("input:checked").length > 0) {
        $("input:checked").each(function(index, e) {
            var css = $(e).attr('class').split(' ').slice(-1);
            $("div.markActions a").each(function (index, e) {
                $(e).removeClass("disablelink").hasClass(css);
            });

        });
    }
    else {
        $("div.markActions a").addClass("disablelink");
    }
}

$("div.markActions a") - 这是 a.href 链接所在的位置(在此 div 内)

复选框与 a.href 链接具有相同的类名。所以我想获取复选框的类名并将该类与 a.href 链接的类匹配。

复选框:

<input type="checkbox" value="2" class="checkbox install">

关联:

<a class="iconDiskPlus install disablelink" href="#">Install</a>


在此处输入图像描述

4

3 回答 3

1

我想到了:

function refleshCheckboxes() {
    if ($("input.checkbox:checked").length > 0) {
        var arr = new Array(".install", ".uninstalled", ".enabled", ".disabled", ".download", ".remove");
        for (i = 0; i < arr.length; i++) {
            if ($("input.checkbox:checked").is(arr[i])) {
                $(".markActions a" + arr[i]).removeClass("disablelink");
            } else {
                $(".markActions a" + arr[i]).addClass("disablelink");
            }
        };
    }
    else {
        $("div.markActions a").addClass("disablelink");
    }
}
于 2012-11-06T08:56:54.390 回答
0

试试下面的一个。

​</p>

$(function(){

    $('input.install').click(function(){ 

        var install_link =  $('a.install');
        if($('input.install:checked').length !=0){
        install_link.addClass('enablelink').text('install enabled');
        }
        else{
        install_link.addClass('disablelink').text('install disabled');                

        }                     
});         
});​

查看 js fiddle 进行演示

于 2012-11-06T08:10:02.313 回答
0

您可以将 onclick 事件设置为这样的复选框:

<input id="someId" type="checkbox" value="2" class="checkbox install" onclick="myFunction()">

在你的 js 文件中定义一个函数:

function myFunction(){
    var checkBox = document.getElementById("someId");
    if(checkBox.checked == true){
        //you have to give an id attribute to the object
        // which you want to hide
        var hideIt = document.getElementById("id");
        hideIt.style.visibility = "none";
    }
}
于 2012-11-06T08:11:14.667 回答