2013-07-30 2 views
0

В верхней части моей страницы:Почему функция «предупреждения» не срабатывает?

<head> 
     <title></title> 
     <link href="../Home.css" type="text/css" rel="stylesheet" runat="server" /> 
     <link href="../Content/kendo.common.min.css" rel="stylesheet" /> 
     <link href="../Content/kendo.default.min.css" rel="stylesheet" /> 
     <script src="../Scripts/jquery.min.js" type="text/javascript"> </script> 
     <script src="../Scripts/kendo.web.min.js" type="text/javascript"> </script> 
</head> 

В нижней части страницы, внутри тела тега:

<script type="text/javascript"> 

      $(document).ready(function() 
      { 
       if ($('#chkSelect').is(":checked")) { 
        alert('checked!'); 
       } 
      }); 
</script> 

В середине управления страницы HTML:

<input id="chkSelect" type="checkbox" />Select All Notifications 

Если я проверил checkBox «chkSelect», я хочу запустить предупреждение. Я здесь что-то не так?

+0

Если вы хотите, чтобы он срабатывал, как написано (когда документ готов), вам нужно это внутри тега ввода - checked = "checked". – daxur

+0

Я думаю, вы проверяете, установлен ли флажок сразу после загрузки страницы. Конечно, это не потому, что вы еще не нажали на нее. Вам нужно использовать событие для запуска обратного вызова при каждом изменении флажка. – francoisr

+0

Если сценарий находится внизу страницы, зачем использовать '.ready()'? –

ответ

6

Вы должны использовать обработчик событий, например change.
Ваш код запускается только один раз, когда страница загружается, а флажок не установлен.

$('#chkSelect').change(function() { 
    if(this.checked) { 
     alert('checked'); 
    } 
}); 
+4

damnit Я не набираю достаточно быстро :) – MightyPork

+2

'this.checked' вместо' $ (this) .is (": checked") ' –

+0

спасибо, это сделал трюк. Я также использовал то, что сказал @CrazyTrain. –

0

Это то, что вы хотите:

$(document).ready(function() { 

    $("#chkSelect").click(function() { 
     if ($(this).is(":checked")) { 
      alert('checked!'); 
     } 
    }); 

}); 
0

Вы не объявили событие для флажка. Делай так ...

<script type="text/javascript"> 

      $(document).ready(function() 
      { 
       $('#chkSelect').change(function(){ 
        if ($(this).is(":checked")) { 
         alert('checked!'); 
        } 
       } 
      }); 
</script> 
+0

Это не оптимальный способ делегирования события в элемент с помощью идентификатора. – Stano

1

UPDATED FIDDLE

$(function(){ 
$('#test1').click(function(){ 
    if($(this).is(":checked")) { 
    alert('checked'); 
} 
}); 

});

В JAVASCRIPT

if (document.getElementById('id').checked){ 
      alert("checked") ; 
    }else{ 
alert("You didn't check it!") 
} 
+0

это работает, но делает это, если я хочу проверить, установлен ли флажок или нет? –

+0

всего лишь секунд, обновление –

+0

@ Rj.обновлено !!! Посмотрите –

0

Вашего код в основном проверяет галочку/непроверенную при загрузке страницы.

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

Вы можете использовать trigger из JQuery.

$('#chkSelect').on('click', function() { 
    alert('checked'); 
}); 
$('#chkSelect').trigger('click'); 
Смежные вопросы