2014-02-20 4 views
-3

Я хочу проверить все флажки, если флажок selectall отмечен галочкой, но в моем случае флажки производятся динамически. Когда я нажимаю на флажок selectall, все флажки отмечены флажками, а не selectall, его флажок не установлен.
Javascriptвыбрать все флажок не отмечен, когда нажмете на него

function selectAll() { 
     alert("enter selectall"); 
     $('.checkall').prop('checked', isChecked('selectall')); 
    } 

    function isChecked(checkboxId) { 
     alert(checkboxId); 
     alert("enterischecked"); 
     var id = '#' + checkboxId; 
     return $(id).is(":checked"); 
    } 


    function resetSelectAll() { 
     alert("resetselectall"); 
     // if all checkbox are selected, check the selectall checkbox 
     // and viceversa 
     if ($(".checkall").length == $(".checkall:checked").length) { 
      $("#selectall").attr("checked", "checked"); 
     } else { 
      $("#selectall").removeAttr("checked"); 
     } 
    } 

HTML КОД

<body> 
<table id="notificationsTableId" style="width: 1744px;"> 
    <thead> 
     <tr role="row"> 
      <th rowspan="1" colspan="1" style="width: 30px;" aria-label=""> 
       <input type="checkbox" id="selectall" onclick="selectAll();">Select all</input> 
      </th> 
      <th tabindex="0" rowspan="1" colspan="1" style="width: 203px;">Type</th> 
      <th tabindex="0" rowspan="1" colspan="1" style="width: 354px;">Status</th> 
     </tr> 
    </thead> 
    <tbody role="alert"> 
     <tr class="results-table-row odd"> 
      <td align="center"> 
       <input type="checkbox" class="checkall" name="selectedId" value="" onclick="resetSelectAll();" /> 
      </td> 
      <td>Stop Noted Record</td> 
      <td>Closed (No investigation required)</td> 
     </tr> 
     <tr class="results-table-row even"> 
      <td align="center"> 
       <input type="checkbox" class="checkall" name="selectedId" value="" onclick="resetSelectAll();" /> 
      </td> 
      <td>Stop Noted Record</td> 
      <td>Open (New)</td> 
     </tr> 
     <tr class="results-table-row even odd"> 
      <td align="center" class=" "> 
       <input type="checkbox" class="checkall" name="selectedId" value="" onclick="resetSelectAll();" /> 
      </td> 
     </tr> 
    </tbody> 
</table> 

ПРИМЕЧАНИЕ

i am using ie8 
+5

вы должны предоставить обработанную HTML-разметку и может быть jsfiddle –

+0

@ A.Wolff я есть изменить HTML Теперь – user2841408

ответ

-1

, когда это вызывается обработчик OnClick:

function selectAll() { 
     alert("enter selectall"); 
     $('.checkall').prop('checked', isChecked('selectall')); 
    } 

selectall флажок в настоящее время не установлен. Эта функция немедленно восстанавливается, поэтому поле не будет проверено. «Проверка» на самом деле происходит после рутинных возвращается OnClick

это будет делать трюк:

function selectAll() { 
     alert("enter selectall"); 
     $('.checkall').prop('checked', !(isChecked('selectall'))); 
    } 
+0

вышеупомянутое изменение не сработало – user2841408

Смежные вопросы