JQuery TableSorter конфликтует с переключателем checkall - PullRequest
1 голос
/ 02 ноября 2009

Я пытаюсь создать таблицу, которую можно сортировать, используя JQuery TableSorter, а также с переключателем выбора all / none для переключателей отдельных строк. Tablesorter отключает тумблер.

В аналогичном посте я читал: «TableSorter уничтожает / воссоздает оригинальный элемент Dom» - там сказано, что я все еще не уверен, как это исправить.

Мой код:

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel='stylesheet' href='css/simple.css' type='text/css'/>
    <script type='text/javascript' src='js/jquery.js'></script>
    <script type='text/javascript' src='js/tablesorter.js'></script>
    <script type='text/javascript'>
        function checkAll(checkname, exby) {
        for (i = 0; i < checkname.length; i++)
        checkname[i].checked = exby.checked? true:false
        }
    </script>
    <script type="text/javascript">$(document).ready(function() {$("#dataGrid").tablesorter({ widgets: ['zebra'] });});</script>
    <title>test</title>
  </head>

<body>
<form id='dataGridForm' name='mylist' action='test.php' method='post'>
<table id='dataGrid' class='tablesorter'>
<thead>
<tr>
<th><input type="checkbox" name="all" onClick="checkAll(document.getElementsByName('checkGroup[]'),this)"></th>
<th>col1</th>
<th>col2</th>
</tr>
</thead>
<tbody>
<tr><td><input type="checkbox" name="checkGroup[]" value="1"></td><td>1</td><td>4</td></tr>
<tr><td><input type="checkbox" name="checkGroup[]" value="2"></td><td>2</td><td>3</td></tr>
<tr><td><input type="checkbox" name="checkGroup[]" value="3"></td><td>3</td><td>2</td></tr>
<tr><td><input type="checkbox" name="checkGroup[]" value="4"></td><td>4</td><td>1</td></tr>
</tbody>
</table>
<div>
<input id='submit' type='submit' name='submit' value='submit'/></div>
</form>

  </body>
</html>

любые идеи будут оценены.

Ответы [ 3 ]

1 голос
/ 16 мая 2011

Добавить опцию заголовка, как показано ниже:

$("#dataGrid").tablesorter({ widgets: ['zebra'], headers:{0:{sorter:false}} });
0 голосов
/ 03 ноября 2009

Я должен был сделать обходной путь, который должен был убрать флажок checkall из таблицы TableSorter - тогда это сработало. однако я все еще не могу заставить его работать за столом.

0 голосов
/ 02 ноября 2009

похоже, что вы включаете их, если выключаете, и выключаете, если ... ....

используйте это

function toggleAll(selector){
    $(selector).each(function(){
        this.checked = !this.checked;
    })
}

затем используйте селектор jquery, который даст вам все необходимые флажки.

onclick="toggleAll('input[type:checkbox]')"

(непроверенные)

...