2013-10-25 3 views
1

У меня есть представление, которое отображает частичный вид. Index.cshtml содержит частичный вид.Javascript: выбор всех флажков на странице. Он проверяет все на секунду, а затем исчезает

ДИВ ниже существует в частичном виде

  <div id="sa-da"> 
       <input type="checkbox" id="selectAll"/><span>@T("Select/Deselect all invoices")</span> 
       <div class="payinvoices"><input class="amebtn" id="PayInvoices" type="button" text="Pay Invoices" onclick="RemovePagination();"/> </div> 
      </div> 

Я использую метод ниже, чтобы отключить нумерацию страниц на сетке (WebGrid) в частичном виде с использованием нажатия кнопки

  function RemovePagination() 
       {  
        UpdateGrid("","clkPayInv"); 
        $('#invoicestatus').val('unpaid');    
        SelectAllCheckboxesOnLoad(); 
       } 

Я хочу, чтобы функция ниже, чтобы выбрать все флажки на нажатие кнопки, а

   function SelectAllCheckboxesOnLoad() 
      { 
       var aa= document.getElementsByTagName("input"); 
       for (var i =0; i < aa.length; i++){ 
        if (aa[i].type == 'checkbox') 
         aa[i].checked = true; 
       } 

      } 

?? Флажки отмечены щелчком по кнопке, но она не остается отмеченной. Он просто мерцает на секунду, показывая все флажки, а затем исчезает. Как я могу это исправить?

  function UpdateGrid(searchString,whatWasClicked) { 
        $jq.ajax({ 
         url: '@Url.Action("Invoices")', 
         type: "GET", 
         cache: false, 
         data: { status: $("#invoicestatus").val(), from: $("#from").val(), thru: $("#to").val(), search: searchString, payInvClickBtn:whatWasClicked}, 
         dataType: "html", 
         global: false, 
         error: function (jqXHR, status, error) { if (jqXHR.status == 401) { window.location.replace(location.href); } } , 
         success: function (result, status, hr) { 
          $('#Grid').html(result); 
         } 
        }); 
       } 

ответ

1

Проблемы occurrs, потому что ваш Аякс вызов не завершен на момент вызвать чек/снимите. Поместите вызов

SelectAllCheckboxesOnLoad(); 

внутри метода успеха, после

$('#Grid').html(result); 
+0

Спасибо так много. Он работает как магия. – user2320476

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