флажок переключить выбрать все / снять все проблемы - PullRequest
1 голос
/ 07 июня 2011

Привет я нашел скрипт, который использует флажок, чтобы выбрать все / снять все флажок, который я нашел рабочий пример здесь http://jsfiddle.net/ThiefMaster/HuM4Q/

проблема заключается в том, когда я пытался интегрировать его в свой HTMLэто больше не работает, вот мой код:

javascript:

<head>
<script>
$('#checkAll').click(function() {
    if(this.checked) {
        $('input:checkbox').attr('checked', true);
    }
    else {
        $('input:checkbox').removeAttr('checked');
    }
});

$('input:checkbox:not(#checkAll)').click(function() {
    if(!this.checked) {
        $('#checkAll').removeAttr('checked');
    }
    else {
        var numChecked = $('input:checkbox:checked:not(#checkAll)').length;
        var numTotal = $('input:checkbox:not(#checkAll)').length;
        if(numTotal == numChecked) {
            $('#checkAll').attr('checked', true);
        }
    }
});
</script>
</head>

и вот мой HTML:

<h2>Courses</h2>
<?php 
$attributes = array('name' => 'list','id' => 'form' );
echo form_open('courses/edit',$attributes);?>

<table class="data display datatable" id="example">
    <thead>
        <tr>
          <th>ID</th>
          <th>Title</th>
          <th>Description</th>
          <th>Units</th>
          <th>Notes</th>
          <th><input type="checkbox" id="checkAll"></th>
        </tr>
    </thead>
    <tbody> 
<?php foreach($query->result_array() as $row): ?>
        <tr class="even gradeC">
            <td><?php echo anchor('courses/details/'.$row['courseID'],$row['courseID']);?></td>
            <td><?php echo $row['courseTitle'];?></td>
            <td><?php echo $row['courseDesc'];?></td>
            <td><?php echo $row['courseUnits'];?></td>
            <td><?php echo $row['courseNotes'];?></td>
            <td><input type="checkbox" name="checkID[]" id="checkID" value="<?php echo $row['courseID'];?>"/></td>
        </tr>
<? endforeach; ?>
    </tbody>
</table>

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Этот скрипт использовал jQuery. Убедитесь, что вы включили скрипт jQuery на свою страницу.

0 голосов
/ 07 июня 2011

Попробуйте исправить эту строку:

<td><input type="checkbox" name="checkID[]" id="checkID" value="<?php echo $row['courseID'];?>"/></td>

Атрибут id должен быть уникальным, например, только один элемент должен иметь идентификатор «checkID», а не каждая строка. Попробуйте полностью удалить атрибут или сделайте его уникальным для каждой строки, чтобы увидеть, не уладится ли ваш JavaScript.

Кроме того, вам нужна строка, подобная этой вверху, в вашей голове:

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.4.4.min.js'></script> 
...