it-swarm-ru.tech

Как снять флажок с помощью библиотеки jQuery Uniform

У меня проблема с снятием отметки с checkbox. Посмотрите мой jsFiddle , где я пытаюсь:

   $("#check2").attr("checked", true);

Я использую равномерное для стилизации checkbox, и оно просто не работает для проверки/снятия отметки checkbox.

Есть идеи?

144
Artjom Zabelin

Глядя на свои документы, у них есть функция $.uniform.update для обновления элемента в форме.

Пример: http://jsfiddle.net/r87NH/4/

$("input:checkbox").uniform();

$("body").on("click", "#check1", function () {
    var two = $("#check2").attr("checked", this.checked);
    $.uniform.update(two);
});
108
user113716

Более простое решение - сделать это, а не использовать форму:

$('#check1').prop('checked', true); // will check the checkbox with id check1
$('#check1').prop('checked', false); // will uncheck the checkbox with id check1

Это не будет запускать какое-либо определенное действие щелчка.

Вы также можете использовать:

$('#check1').click(); // 

Это переключит флажок/снимает флажок для этого флажка, но также будет запускать любое действие щелчка, которое вы определили. Так что будьте осторожны.

EDIT: jQuery 1.6+ использует prop(), а не attr() для отмеченных флажков

368
Mr.Hunt
$("#chkBox").attr('checked', false); 

Это сработало для меня, это снимет флажок. Таким же образом мы можем использовать

$("#chkBox").attr('checked', true); 

проверить флажок.

24
user1683014

Если вы используете стандарт 1.5 , используйте этот простой трюк, чтобы добавить или удалить атрибут проверки
Просто добавьте value = "check" в поле ввода вашего флажка.
Добавьте этот код в uniform.js> function doCheckbox(elem){> .click(function(){

if ( $(elem+':checked').val() == 'check' ) {
    $(elem).attr('checked','checked');           
}
else {
    $(elem).removeAttr('checked');
}   

если вы не хотите добавлять значение = "check" в поле ввода, потому что в некоторых случаях вы добавляете два флажка, так что используйте это

if ($(elem).is(':checked')) {
 $(elem).attr('checked','checked');
}    
else
{    
 $(elem).removeAttr('checked');
}

Если вы используете стандартный 2. , используйте этот простой трюк, чтобы добавить или удалить атрибут проверки
в этой функции classUpdateChecked($tag, $el, options) {

if ($el.prop) {
    // jQuery 1.6+
    $el.prop(c, isChecked);
}

К

if ($el.prop) {
    // jQuery 1.6+
    $el.prop(c, isChecked);
    if (isChecked) {
        $el.attr(c, c);
    } else {
        $el.removeAttr(c);
    }

}
13
Sohail Ahmed
$('#check1').prop('checked', true).uniform(); 
$('#check1').prop('checked', false).uniform(); 

Это сработало для меня.

7
Parijat

Просто сделай это:

$('#checkbox').prop('checked',true).uniform('refresh');
2
moledet
 $("#checkall").change(function () {
            var checked = $(this).is(':checked');
            if (checked) {
                $(".custom-checkbox").each(function () {
                    $(this).prop("checked", true).uniform();
                });
            } else {
                $(".custom-checkbox").each(function () {
                    $(this).prop("checked", false).uniform();
                });
            }
        });

        // Changing state of CheckAll custom-checkbox
        $(".custom-checkbox").click(function () {
            if ($(".custom-checkbox").length == $(".custom-checkbox:checked").length) {
                $("#chk-all").prop("checked", true).uniform();
            } else {
                $("#chk-all").removeAttr("checked").uniform();
            }
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id='checkall' /> Select All<br/>
 <input type="checkbox" class='custom-checkbox' name="languages" value="PHP"> PHP<br/>
 <input type="checkbox" class='custom-checkbox' name="languages" value="AngularJS"> AngularJS<br/>
 <input type="checkbox" class='custom-checkbox' name="languages" value="Python"> Python<br/>
 <input type="checkbox" class='custom-checkbox' name="languages" value="Java"> Java<br/>
1
P.Mondal

В некоторых случаях вы можете использовать это:

$('.myInput').get(0).checked = true

Для переключения можно использовать if else с функцией

1
Larionov Nikita

вам нужно вызвать $.uniform.update(), если вы обновляете элемент, используя javascript, как указано в документации.

1
Adeel

Прежде всего, checked может иметь значение checked или пустую строку.

$("input:checkbox").uniform();

$('#check1').live('click', function() {
    $('#check2').attr('checked', 'checked').uniform();
});
1
nyuszika7h

Другой способ сделать это,

использовать $('#check2').click();

это вызывает униформу, чтобы проверить флажок и обновить его маски

0
Hailwood