2016-06-16 3 views
0

У меня проблема с jquery здесь. то, что мне нужно, когда выпадающее меню изменится, ajax проверит запись в базе данных независимо от того, что она восстановила или нет. если да, я хочу отключить этот флажок. поэтому пользователь не может проверить его снова. проблема в том, что флажок не работает. Я уже пытаюсь .prop и attr .. не знаю, где проблема. надеюсь, что кто-то поможет мне ..disable checkbox при выпадающем списке это изменение

здесь код

 function checkRekod(tahun, bulan, empid) { 
      return $.ajax({ 
       url: "../../Payroll/CheckPayslip?tahun=" + tahun + "&bulan=" + bulan + "&empid="+ empid, 
      }); 
     } 

     $("#dpMonth, #dpTahun").change(function() { 
      var bulan = $("#dpMonth").val(); 
      var tahun = $("#dpTahun").val(); 

      $('input:checkbox[id="naikgaji"]').each(function() { 
       empid = $(this).val(); 

       var rekod = checkRekod(tahun, bulan, empid); 
       rekod.success(function (data) { 
        if (data == 1) { 
         $(this).attr('disabled', true); 
        } 
       }); 
      }); 
     }); 
+0

вы видите какие-либо ошибки в браузере консоль? – kasperite

+0

У вас есть более 1 флажка с id = naikgaji? Я пробовал это, и он работает $ ('input: checkbox [id = "naikgaji"]'). Prop ('disabled', true), https: //jsfiddle.net/e7pcu5jn/... если ваш не работает , то что-то не так с вашей логикой. Удостоверьтесь, что он добирается. – chungtinhlakho

+0

@kasperite: нет ошибки в моей консоли .. chungtinhlakho: да .. вот почему я использую .each() – achimet

ответ

0

вы можете попробовать некоторые, как тот

$('input:checkbox[id="naikgaji"]').each(function() { 
    var chk = $(this); 
    var empid = $(this).val(); 
    var rekod = checkRekod(tahun, bulan, empid); 

    rekod.success(function (data) { 
     if (data == 1) 
      $(chk).attr("disabled", true); 
    }); 
}); 
+0

его не работает тоже человек .. – achimet

0

Попробуйте

$("#dpMonth, #dpTahun").change(function() { 
     var bulan = $("#dpMonth").val(); 
     var tahun = $("#dpTahun").val(); 

     $('input:checkbox[id="naikgaji"]').each(function() { 
      empid = $(this).val(); 
      // stored id in the local variable for disabling the element by this id. 
      var elementId = this.id; 
      var rekod = checkRekod(tahun, bulan, empid); 
      rekod.success(function (data) { 
       if (data == 1) { 
        $(elementId).attr('disabled', 'disabled'); 
       } 
      }); 
     }); 
+0

ajax call return 1, если запись найдена .. попытался ур код. .Не работает тоже .. – achimet

+0

Попробовали ли вы так? '$ (this) .attr ('disabled', 'disabled');' –

+0

попробовал .. не повезло .. – achimet

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