2012-07-17 59 views
1

第一的简短描述:JavaScript错误,其它复选框更新复选框/按钮基部别结果

我有4个表(1和3包含一个线复选框,2和4含有单选按钮)。

我期望做的是让它在我选择表1中的复选框时,通过将等效复选框设置为'disabled'来更新表2,3,4。

我认为最简单的选择是使用'VALUE'属性,因为这在每个表上都是相同的(例如,第一个表上的值为4的字段将等于字段上的值为4其他)。

我的表格每个表格都有一个唯一的ID,并共享一个类名“TableClassName”。 他们看起来都类似:

<table id="TableID1" class="TableClassName"> 
<tr> 
<th class="CellGrey">1</td> 
<th class="CellGrey ">2</td> 
<th class="CellGrey ">3</td> 
<th class="CellGrey ">4</td> 
</tr> 
<tr> 
<td class="CellRed "><INPUT TYPE="checkbox" NAME="ignore[]" VALUE="1" checked></td> 
<td class="CellWhite "><INPUT TYPE="checkbox" NAME="ignore[]" VALUE="2"></td> 
<td class="CellWhite "><INPUT TYPE="checkbox" NAME="ignore[]" VALUE="3"></td> 
<td class="CellWhite "><INPUT TYPE="checkbox" NAME="ignore[]" VALUE="4"></td> 
</tr> 
</table> 

到目前为止,我所拥有的是:

script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#TableID1").on('click','input:checkbox',function() 
     { 
      if ($(this).attr('checked')) 
       { 
       var $val = $(this).attr('value'); 
       //alert($val); 
       $(".DBSelectTable td").function() 
        { 
         if ($(this).child().attr('VALUE') == $val) 
          { 
           $(this).child().attr('disabled'); 
          } 
        } 

      }  
     } 
    ) 
}  
); 
</script> 

但是,我得到的错误:

"Uncaught Type Error: Object[object Object] has no method 'function' "

我的理论很简单:

  1. 选择T中的#TableID1表

  2. 找出第一个表哪个箱子已经被点击并获得价值属性

  3. 选择.TableClassName表

  4. 检查,如果任何具有相同的值,并添加“禁用”属性

但是有些事情是错误的,我看不到从这里去哪里。任何帮助,将不胜感激。

+0

'$( “DBSelectTable TD ”)。函数()'应该是'$(“。DBSelectTable TD输入”)。变化()'我想... – sachleen 2012-07-17 15:37:48

+0

我已经调整了其删除.child()部分,并按照您所述进行了更改,但是虽然它不再提供错误,但它没有所需的影响(实际上它没有任何作用) – IGGt 2012-07-17 16:08:13

回答

0

请注意,如果attr使用了prop, 也可以比较find函数中的值。

$(document).ready(function() 
{ 
$("#TableID1").on('change','input:checkbox',function() 
     { 
      if ($(this).prop('checked')) 
       { 
        var val = $(this).val();     
        $(".DBSelectTable td").find("[value='"+ val +"']").prop('disabled',true) 
       }  
     } 
    ) 
}  
); 
+0

已经得到它了。你我的朋友是明星! – IGGt 2012-07-17 16:26:51