2012-11-06 50 views
-1

我需要根据选中的复选框禁用/启用“a.href”链接。我有一个复选框列表(2列)。当选中“安装”列中的至少一个复选框时,应启用“安装”链接,否则禁用。当在“删除”列中至少选中一个复选框时,应该启用具有相同类名的链接,否则禁用。基于复选框的jquery启用禁用链接

我试过这个,但不知道这是正确的,这是行不通的:

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.href链接(在这个div内)

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

复选框:

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

链接:

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


enter image description here

+0

http://stackoverflow.com/questions/1169625/jquery-link-tag-enable-disable启用/禁用链接 – Abhilash

+0

你尝试过的jQuery的getAttribute财产。在谷歌搜索 – polin

+1

http://stackoverflow.com/questions/901712/check-checkbox-checked-property-using-jquery检查复选框检查属性。把这两个结合起来! – Abhilash

回答

0

尝试下面的一个。

$(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为demo

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"; 
    } 
}