تم فحص القبض حدث التغيير من خانة الاختيار

StackOverflow https://stackoverflow.com/questions/1455223

  •  12-09-2019
  •  | 
  •  

سؤال

كيف أقوم بالوقوف / إلغاء تحديد الحدث <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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top