У меня проблема с снятием флажка checkbox
. Посмотрите my jsFiddle, где я пытаюсь:
$("#check2").attr("checked", true);
Я использую uniform для стилизации checkbox
, и он просто не работает для check/uncheck checkbox
.
Любые идеи?
У меня проблема с снятием флажка checkbox
. Посмотрите my jsFiddle, где я пытаюсь:
$("#check2").attr("checked", true);
Я использую uniform для стилизации checkbox
, и он просто не работает для check/uncheck checkbox
.
Любые идеи?
Посмотрев на свои документы, у них есть функция $.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);
});
Более простое решение состоит в том, чтобы сделать это, а не использовать равномерное:
$('#check1').prop('checked', true); // will check the checkbox with id check1
$('#check1').prop('checked', false); // will uncheck the checkbox with id check1
Это не приведет к срабатыванию какого-либо действия по клику.
Вы также можете использовать:
$('#check1').click(); //
Это переключит флажок check/uncheck для этого флажка, но это также вызовет любое действие click, которое вы определили. Поэтому будьте осторожны.
EDIT: jQuery 1.6+ использует prop()
not attr()
для отмеченных флажков значений
$("#chkBox").attr('checked', false);
Это сработало для меня, это снимет флажок. Точно так же мы можем использовать
$("#chkBox").attr('checked', true);
чтобы установить флажок.
Если вы используете uniform 1.5, используйте этот простой трюк, чтобы добавить или удалить атрибут проверки. Просто добавьте value = "check" в поле ввода флажка.
Добавьте этот код в uniform.js
> function doCheckbox(elem){
> .click(function(){
if ( $(elem+':checked').val() == 'check' ) {
$(elem).attr('checked','checked');
}
else {
$(elem).removeAttr('checked');
}
если вы не хотите добавлять value = "проверить" в поле ввода, потому что в некоторых случаях вы добавляете два флажка, поэтому используйте
if ($(elem).is(':checked')) {
$(elem).attr('checked','checked');
}
else
{
$(elem).removeAttr('checked');
}
Если вы используете uniform 2.0, используйте этот простой трюк, чтобы добавить или удалить атрибут проверки в этом 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);
}
}
$('#check1').prop('checked', true).uniform();
$('#check1').prop('checked', false).uniform();
Это сработало для меня.
Просто сделайте следующее:
$('#checkbox').prop('checked',true).uniform('refresh');
вам нужно вызвать $.uniform.update()
, если вы обновите элемент с помощью javascript, как указано в документации.
Прежде всего, checked
может иметь значение checked
или пустую строку.
$("input:checkbox").uniform();
$('#check1').live('click', function() {
$('#check2').attr('checked', 'checked').uniform();
});
В некоторых случаях вы можете использовать это:
$('.myInput').get(0).checked = true
Для переключения вы можете использовать if else с функцией
Другой способ сделать это:
использовать $('#check2').click();
это приводит к тому, что единообразно проверяет флажок и обновляет его маскирует
которые действуют как radio btn
$(".checkgroup").live('change',function() {
var previous=this.checked;
$(".checkgroup).attr("checked", false);
$(this).attr("checked", previous);
});