2011-12-12 41 views
0

我使用jQuery Datatables为表格造型。 表格的一列包含单选按钮。jQuery Datatables怪异的单选按钮

<td class="image"> 
       <input type="radio" name="11" value="a" onclick="updateStatus('11', 'a')" /><img src="/jwz/images/icons/a.png" name="a" alt="a" title="Activeer account" /> 
       <input type="radio" name="11" value="b" onclick="updateStatus('11', 'b')" /><img src="/jwz/images/icons/b.png" name="b" alt="b" title="Ban account" /> 
       <input type="radio" name="11" value="w" checked="checked" onclick="updateStatus('11', 'w')" /><img src="/jwz/images/icons/w.png" name="w" alt="w" title="Zet account in de wacht"/> 

      </td> 

问题是,checked属性不适用于表的第一行。在其他所有行中,其中一个按钮被选中,但不在第一行。当我禁用jQuery数据表时,它工作得很好。所以,jQuery Datatables是个问题。

有人可以帮我解决问题吗?

+0

相当困难,帮助这个样子。你能否提供一个[jsfiddle](http://www.jsfiddle.net)和相关代码来重现问题? –

+0

http://jsfiddle.net/ptY6B/3/请参阅ID 10.它是原始html中的第一行。 jQuery把它放在第三位。当我删除最后3个colums时,我发现它工作正常。 – OrangeTux

+0

@OrangeTux我编辑你的小提琴,现在似乎工作http://jsfiddle.net/nicolapeluchetti/ptY6B/4/ –

回答

1

我有同样的问题,我的jQuery DataTable的第一行中的radiobuttonlist没有显示选中的单选按钮作为页面加载时检查;尽管检查HTML时检查=“检查”应用于无线电输入。

当绑定我的表,我现在一个类(“radioButtonToCheck”)添加到第一个单选按钮列表的选择列表项(在C#):

listItem.Attributes["class"] = "radioButtonToCheck"; 

然后jQuery的数据表fnDrawCallback用于重绘单选按钮的检查状态。

var roomReportingTable = $('.horizontalScroll table').dataTable({ 
       "sScrollX": "100%", 
       "bScrollCollapse": true, 
       "bFilter": false, 
       "bPaginate": false, 
       "bInfo": false, 
       "fnDrawCallback": function() { 
        // first radio button list selection is not rendered, so needs to be re-drawn 
        $('.radioButtonToCheck input').attr("checked", "checked"); 
       } 
      }); 

jQuery的数据表fnDrawCallback的更多信息:http://datatables.net/faqs#ss_events