проверьте, установлен ли флажок или нет с помощью jquery
Я хочу проверить, установлен ли флажок или нет с помощью jquery. Я хочу проверить его на событии onclick checkbox.
<input type="checkbox" onclick="javascript:check_action();" id="Public(Web)" checked="checked" value="anyone" name="data[anyone]">
это возможно? Как?
спасибо.
9 ответов
во-первых, не используйте javascript:
в атрибутах обработчика событий. Это неправильно и работает только потому, что это допустимый синтаксис JavaScript. Во-вторых, ваш id
недопустимо. Скобки не допускаются в id
атрибут (по крайней мере, в HTML 4; HTML 5 снимает это ограничение). В-третьих, если вы используете jQuery, вероятно, имеет смысл использовать его click()
метод обработки click
событие, хотя имейте в виду, что изменение его для этого будет означать, что если пользователь нажимает на флажок раньше документ загружен, тогда ваш скрипт не будет обрабатывать его.
<input type="checkbox" id="Public_Web" checked value="anyone"
name="data[anyone]">
$(document).ready(function() {
$("#Public_Web").click(function() {
if (this.checked) {
alert("Checked!");
}
});
});
вы можете сделать такой
$('#checkbox_id').click(function(){
alert(this.checked);
});
или через is()
способ:
$('#checkbox_id').click(function(){
if ($(this).is(':checked')){
alert('Checked');
}
else{
alert('Not Checked');
}
});
если вы хотите сделать это для всех чекбоксов в форме, вы можете использовать :checkbox
селектор фильтра такой:
$('#form_id :checkbox').click(function(){
alert(this.checked);
});
убедитесь, что ваш код упакован в готовый обработчик:
$(function(){
// code....
});
есть несколько вариантов, таких как....
1. if($("#ans").is('checked'))
2. if($("#ans:checked"))
3. if($('input:checkbox:checked'))
во-первых, свяжите событие в тегах скрипта, а не в inline. Это намного проще следовать и делает ваш HTML гораздо более читаемым. тогда вы можете использовать селектор jQuery затем вы можете использовать :checked
чтобы определить, установлен ли флажок.checked
атрибут элемента.
$(document).ready(function(){
$('#Public(Web)').click(function(){
if (this.checked) {
// do your code here
}
});
});
Попробуйте Это:
if(!$('#elementid').is(':checked')){
alert('Not checked');
}else{
alert('checked');
}
вы можете сделать это с помощью is()
способ:
$('##Public_Web').click(function(){
if ($(this).is(':checked')){
alert('Checked');
}
else{
alert('Not Checked');
}
});
если вы хотите сделать это для всех чекбоксов в форме, вы можете использовать :checkbox
фильтр селектор:
$('#form_id :checkbox').click(function(){
alert(this.checked);
});
убедитесь, что ваш код упакован в обработчик документов:
$(document).ready(function() {
// code....
});
вот еще один пример, обратите внимание, что вместо использования события onClick в самом элементе я бы предпочел использовать прослушиватель, но удалите скобки из идентификатора, это даст вам трудное время в некоторых браузерах.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>
<input type="checkbox" id="PublicWeb" checked="checked" value="anyone" name="data[anyone]" />
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script>
<script>
$(document).ready(function(){
$('#PublicWeb').click(function(){
if($(this).is(':checked')){
alert("its checked alright");
}
});
});
</script>
</head><body></body></html>
HTML-код
<input type="checkbox" id="chkBox" checked/> Change Check Box
в jQuery
$("#chkBox").change(function() {
if (this.checked) {
alert("Checked");
}
else {
alert("Not Checked")
}
});
$("#chkBox").change(function() {
if (this.checked) {
alert("Checked");
}
else {
alert("Not Checked")
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="chkBox" checked/> Change Check Box