13.07.2013, 03:52
|
Кандидат Javascript-наук
|
|
Регистрация: 27.08.2010
Сообщений: 115
|
|
uniform отключение-включение
Подскажите, как программно включить - выключить uniform checkbox'ы.
Например - есть 3 чекбокса. нажатие на кнопку 1 - включает все чекбоксы, на вторую - отключает.
<button id="reg-selectall">Выделить все</button>
<button id="reg-deselectall">Снять все</button>
<label><input checked type="checkbox" name="one">1</label>
<label><input checked type="checkbox" name="two">2</label>
<label><input checked type="checkbox" name="three">3</label>
// метод - не работает
$('#reg-selectall').on("click", function(){
$("label .checker span input").attr('checked',true);
// если включить следующую функцию, то все будет работать, но при одиночном щелчке на один из чекбоксов - работать не будет.
//$("label .checker span").addClass('checked');
$.uniform.update();
});
// метод - работает
$('#reg-deselectall').on("click", function(){
$("label .checker span input").removeAttr('checked');
$.uniform.update();
});
|
|
13.07.2013, 07:47
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
posta, проставьте нужным группам один класс - включайте/отключайте по классу,
Или обернуть
<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
<div class=checkToggle>
<button id="reg-selectall">Выделить все</button>
<label><input checked type="checkbox" name="one">1</label>
<label><input checked type="checkbox" name="two">2</label>
<label><input checked type="checkbox" name="three">3</label>
<button id="reg-deselectall">Снять все</button>
</div>
<script type="text/javascript">
$('#reg-selectall').on("click", function(){
$('.checkToggle input').attr('checked',true)
});
$('#reg-deselectall').on("click", function(){
$('.checkToggle input').attr('checked',false)
});
</script>
Последний раз редактировалось Deff, 13.07.2013 в 07:58.
|
|
13.07.2013, 09:33
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
posta, для checked лучше prop
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.9.1.js">
</script>
<script>
$(document).ready(function(){
$('#reg-selectall').on("click", function(){
$("label input").prop('checked',true);
})
$('#reg-deselectall').on("click", function(){
$("label input").prop('checked',false);
})
});
</script>
</head>
<body>
<button id="reg-selectall">Выделить все</button>
<button id="reg-deselectall">Снять все</button>
<label><input checked type="checkbox" name="one">1</label>
<label><input checked type="checkbox" name="two">2</label>
<label><input checked type="checkbox" name="three">3</label>
</body>
</html>
|
|
13.07.2013, 15:05
|
Кандидат Javascript-наук
|
|
Регистрация: 27.08.2010
Сообщений: 115
|
|
Deff, рони - спасибо, но я искал решение для uniform плагина. Как отключить/включить с его помощью? На простых чекбоксах - и так все понятно.
|
|
13.07.2013, 15:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
Сообщение от posta
|
я искал решение для uniform плагина
|
...а давать ссылку на плагин? нафига он же стоит на всех страницах, его же все знают.
|
|
13.07.2013, 15:24
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
posta,
в данных обоих Вариантах - чем не метод
function setcheck (set) {
if(set){$('#reg-selectall').click();
} else $('#reg-deselectall').click();
}
setcheck(true);
setcheck(false);
|
|
13.07.2013, 15:29
|
Кандидат Javascript-наук
|
|
Регистрация: 27.08.2010
Сообщений: 115
|
|
рони, черт, а ведь ты прав, забыл. вот - http://uniformjs.com/.
Все перерыл - не нашел ответа. везде решения, примерно как у вас выше.
Deff, извини, но это не то, мне именно по плагину нужна помощь, а не нативные чекбоксы.
|
|
13.07.2013, 16:01
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
posta,
решение в лоб - наверняка есть api - читайте доки
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="http://uniformjs.com/stylesheets/uniform.aristo.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://uniformjs.com/javascripts/jquery.uniform.min.js"></script>
<script>
$(document).ready(function(){
$(":checkbox").uniform();
$('#reg-selectall').on("click", function(){
$.uniform.restore(":checkbox");
$(":checkbox").prop('checked',true);
$(":checkbox").uniform();
})
$('#reg-deselectall').on("click", function(){
$.uniform.restore(":checkbox");
$(":checkbox").prop('checked',false);
$(":checkbox").uniform();
})
});
</script>
</head>
<body>
<button id="reg-selectall">Выделить все</button>
<button id="reg-deselectall">Снять все</button>
<label><input checked type="checkbox" name="one">1</label>
<label><input checked type="checkbox" name="two">2</label>
<label><input checked type="checkbox" name="three">3</label>
</body>
</html>
|
|
13.07.2013, 16:23
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
posta,
вота )))
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="http://uniformjs.com/stylesheets/uniform.aristo.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://uniformjs.com/javascripts/jquery.uniform.min.js"></script>
<script>
$(document).ready(function()
{
$(":checkbox").uniform();
var b = $('[id ^="reg"]');
b.on("click", function()
{
var i = b.index($(this))
$(":checkbox").prop('checked', !i);
$.uniform.update(":checkbox");
}
)
}
);
</script>
</head>
<body>
<button id="reg-selectall">Выделить все</button>
<button id="reg-deselectall">Снять все</button>
<label><input checked type="checkbox" name="one">1</label>
<label><input checked type="checkbox" name="two">2</label>
<label><input checked type="checkbox" name="three">3</label>
</body>
</html>
|
|
13.07.2013, 16:39
|
Кандидат Javascript-наук
|
|
Регистрация: 27.08.2010
Сообщений: 115
|
|
рони, ты - красавчик! немного подправил код - и все ок. на основе твоего последнего. спасибо, что помог разобраться!
|
|
|
|