2013-04-10 4 views
-1

Я использую загрузочные таблицы для извлечения данных из базы данных с использованием источника данных kendo. Поэтому, чтобы сделать его более интерактивным, я использовал флажок для одновременных действий.Выбрать все флажок не работает

Я хочу удалить все записи одним флажком. Я прочитал об удалении записей с помощью одного флажка с помощью jQuery. Но проблема в том, что у меня есть только один флажок в таблице, и все записи извлекаются с использованием источника данных kendo.

Если я создаю путаницы, то увидеть здесь-

<script id="template" type="text/x-kendo-template"> 
    <tr> 
     <td> 
      <input type="checkbox" class="done" data-id="#= CID #" ></input> 

     </td></tr> 
</script> 

<table> 
<tr> 
<th style="width:10%;"> 
         <input type="checkbox" /> 
        </th> 
</tr> 
</table> 

Теперь с помощью кендо источника данных у меня есть один столбец только флажков.

Так я не делаю this-

<script type="text/javascript"> 
     $('.done').click(function (event) { 
      if (this.checked) { 
       // Iterate each checkbox 
       $(':checkbox').each(function() { 
        this.checked = true; 
       }); 
      } 
     }); 

    </script> 

И до сих пор нет результата. Помогите!

+2

Ваш HTML код кажется багги! есть дополнительный код и html-код в теге скрипта. –

ответ

0

Попробуйте обернуть код JQuery внутри $(document).ready(function(){}); или $(function(){});, чтобы это увидеть весь DOM:

$(document).ready(function() { 
    $('.done').click(function (event) { 
     if (this.checked) { 
      // Iterate each checkbox 
      $(':checkbox').each(function() { 
       this.checked = true; 
      }); 
     } 
    }); 
}); 

Кроме того, ваш HTML завернуты внутри script тега, переместить его снаружи и удалить избыточные ', а также input тег не нужен закрывающий тег </input>:

<tr> 
    <td> 
     <input type="checkbox" class="done" data-id="#= CID #" /> 
    </td> 
</tr> 
0
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('.done').click(function (event) { 
     if ($(this).attr('checked')) { 
      $('input:checkbox:not(".done")').each(function() { 
       $(this).attr('checked', 'checked'); 
      }); 
      } 
     }); 
}); 
</script> 

Попробуйте это. он может также работать

0

Попробуйте это:

$(function() {  
    $('.done').on('click', function(){ 
       // i comment this condition if you want selectall for checked or unchecked 
       //if ($(this).is(':checked')){ 
         $(':checkbox').prop('checked', this.checked); 
       //} 
    }); 
}); 
+0

Ваш код кажется прекрасным, но это не сработало для меня, так как у меня есть только один ящик и с источником данных он создает список флажков. – Manoj

+0

@Manoz Я думаю, вам нужно выполнить эту функцию jQuery после вашего сценария кендо. –

0

Просто попробуйте это:

Script

$(document).ready(function(){ 
    $('.done').click(function (event) { 
     $('.chkbxq').each(function() { 
     $(this).attr('checked', flag); 
     }); 
    }); 
}); 

HTML:

<table> 
    <tr> 
    <th style="width:10%;"> 
     <input type="checkbox" class="chkbxq" /> 
    </th> 
    </tr> 
</table> 
Смежные вопросы