تم فحص القبض حدث التغيير من خانة الاختيار
سؤال
كيف أقوم بالوقوف / إلغاء تحديد الحدث <input type="checkbox" />
مع jquery؟
المحلول
<input type="checkbox" id="something" />
$("#something").click( function(){
if( $(this).is(':checked') ) alert("checked");
});
تحرير: القيام بذلك لن يمسك عندما يتغير مربع الاختيار لأسباب أخرى من النقر، مثل استخدام لوحة المفاتيح. لتجنب هذه المشكلة، والاستماع إلى change
بدلا من click
.
لفحص / إلغاء تحديد برمجيا، نلقي نظرة على لماذا لا يحدث حدث تغيير خانة الاختيار الخاص بي؟
نصائح أخرى
ستؤثر نقرة على تسمية إذا كان لدينا واحدة تعلق على مربع الاختيار الإدخال؟
أعتقد أنه من الأفضل استخدام وظيفة .Change ()
<input type="checkbox" id="something" />
$("#something").change( function(){
alert("state changed");
});
استخدم ال :التحقق محدد لتحديد حالة الاختيار:
$('input[type=checkbox]').click(function() {
if($(this).is(':checked')) {
...
} else {
...
}
});
لاستخدام jQuery 1.7+:
$('input[type=checkbox]').on('change', function() {
...
});
استخدم أقل من قصاصات التعليمات البرمجية لتحقيق ذلك:
$('#checkAll').click(function(){
$("#checkboxes input").attr('checked','checked');
});
$('#UncheckAll').click(function(){
$("#checkboxes input").attr('checked',false);
});
أو يمكنك أن تفعل الشيء نفسه مع خانة الاختيار واحد:
$('#checkAll').click(function(e) {
if($('#checkAll').attr('checked') == 'checked') {
$("#checkboxes input").attr('checked','checked');
$('#checkAll').val('off');
} else {
$("#checkboxes input").attr('checked', false);
$('#checkAll').val('on');
}
});
للتجريبي: http://jsfiddle.net/creativegala/httxe/
في تجربتي، اضطررت إلى الاستفادة من الحدث الحالي
$("#dingus").click( function (event) {
if ($(event.currentTarget).is(':checked')) {
//checkbox is checked
}
});
استخدم حدث Click للحصول على أفضل توافق مع MSIE
$(document).ready(function() {
$("input[type=checkbox]").click(function() {
alert("state changed");
});
});
هذا الرمز يفعل ما حاجتك:
<input type="checkbox" id="check" >check it</input>
$("#check").change( function(){
if( $(this).is(':checked') ) {
alert("checked");
}else{
alert("unchecked");
}
});
أيضا، يمكنك التحقق من ذلك jsfiddle.
$(document).ready(function(){
checkUncheckAll("#select_all","[name='check_boxes[]']");
});
var NUM_BOXES = 10;
// last checkbox the user clicked
var last = -1;
function check(event) {
// in IE, the event object is a property of the window object
// in Mozilla, event object is passed to event handlers as a parameter
event = event || window.event;
var num = parseInt(/box\[(\d+)\]/.exec(this.name)[1]);
if (event.shiftKey && last != -1) {
var di = num > last ? 1 : -1;
for (var i = last; i != num; i += di)
document.forms.boxes['box[' + i + ']'].checked = true;
}
last = num;
}
function init() {
for (var i = 0; i < NUM_BOXES; i++)
document.forms.boxes['box[' + i + ']'].onclick = check;
}
لغة البرمجة:
<body onload="init()">
<form name="boxes">
<input name="box[0]" type="checkbox">
<input name="box[1]" type="checkbox">
<input name="box[2]" type="checkbox">
<input name="box[3]" type="checkbox">
<input name="box[4]" type="checkbox">
<input name="box[5]" type="checkbox">
<input name="box[6]" type="checkbox">
<input name="box[7]" type="checkbox">
<input name="box[8]" type="checkbox">
<input name="box[9]" type="checkbox">
</form>
</body>