Как обрабатывать изменение флажка с помощью jQuery?



у меня есть код



<input type="checkbox" id="chk" value="value" />
<label for="chk">Value </label>
<br/>
<input type="button" id="But1" value="set value" />
<br />
<input type="button" id="But2" value="read checked" />


javascript:



$(document).ready(function () {
console.log("Ready ...");
registerHandlers();

function registerHandlers() {
$('#But1').click(function () {
$('#chk').prop('checked', !$('#chk').is(':checked'));
});
$('#But2').click(function () {
var chk1 = $('#chk').is(':checked');
console.log("Value : " + chk1);
});

$('input[type="checkbox"]').change(function () {
var name = $(this).val();
var check = $(this).prop('checked');
console.log("Change: " + name + " to " + check);
});
}
});


Как обрабатывать изменение флажка с помощью jQuery ?
Мне нужно поставить обработчик, чтобы изменить любые флажки.



[обновление]



есть флажок и несколько кнопок.
Каждая кнопка может изменить флажок.
Как поймать событие изменения флажка?



[обновление]



мне нужен флажок изменения дескриптора в этом примере jsfiddle.
Когда я нажимаю на поле, Сообщение" OK " кнопка не отображается.

575   7  

7 ответов:

использовать :checkbox селектор:

$(':checkbox').change(function() {

        // do stuff here. It will fire on any checkbox change

}); 

код:http://jsfiddle.net/s6fe9/

вы также можете использовать идентификатор поля

$('#checkbox1').change(function() {
   if($(this).is(":checked")) {
      //'checked' event code
      return;
   }
   //'unchecked' event code
});

надеюсь, это будет иметь некоторую помощь.

$('input[type=checkbox]').change(function () {
    if ($(this).prop("checked")) {
        //do the stuff that you would do when 'checked'

        return;
    }
    //Here do the stuff you want to do when 'unchecked'
});
$("input[type=checkbox]").on("change", function() { 

    if (this.checked) {

      //do your stuff

     }
});
$('#myForm').on('change', 'input[type=checkbox]', function() {
    this.checked ? this.value = 'apple' : this.value = 'pineapple';
});

мне кажется removeProp не работает должным образом в Chrome : jsfiddle

        $('#badBut1').click(function () {
        checkit('Before');
        if( $('#chk').prop('checked') )
        {
          $('#chk').removeProp('checked');
        }else{
            $('#chk').prop('checked', true);
        }
        checkit('After');
    });
    $('#But1').click(function () {
        checkit('Before');
        if( $('#chk').prop('checked') )
        {
          $('#chk').removeClass('checked').prop('checked',false);
        }else{
            $('#chk').addClass('checked').prop('checked', true);
        }
        checkit('After');
    });

    $('#But2').click(function () {
        var chk1 = $('#chk').is(':checked');
        console.log("Value : " + chk1);
    });

    $('#chk').on( 'change',function () {
        checkit('Result');
    });
    function checkit(moment) {
        var chk1 = $('#chk').is(':checked');
        console.log(moment+", value = " + chk1);
    };

получить значение радио по имя

  $('input').on('className', function(event){
        console.log($(this).attr('name'));
        if($(this).attr('name') == "worker")
            {
                resetAll();                 
            }
    });

Comments

    Ничего не найдено.