Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2012, 23:55
Интересующийся
Отправить личное сообщение для segajb Посмотреть профиль Найти все сообщения от segajb
 
Регистрация: 18.03.2012
Сообщений: 21

появление блоков по checkbox
Есть такой скрипт
http://jsfiddle.net/danya_postfactum/xdssd/
как сделать чтобы изначально выводились все блоки, а уже при клике на чекбокс остальные скрывались и выводились только блоки принадлежащие этому чекбоксу? Причём если будет отмечено несколько чекбоксов то и блоки должны быть показаны все, которые принадлежат этим чекбоксам?
Заранее спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2012, 00:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

segajb, Это не поможет ?
not checked parents (parent)
http://jquery-docs.ru/Traversing/not/#expr
http://jquery-docs.ru/Selectors/checked/
http://jquery-docs.ru/Traversing/parents/#expr
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2012, 01:04
Аватар для cmd
cmd cmd вне форума
Профессор
Отправить личное сообщение для cmd Посмотреть профиль Найти все сообщения от cmd
 
Регистрация: 19.03.2011
Сообщений: 177

Вот такой простенький вариант:
<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<input type="checkbox" class="ShowOrHide" value="myDivId1" checked />1 div
<input type="checkbox" class="ShowOrHide" value="myDivId2" checked />2 div
<input type="checkbox" class="ShowOrHide" value="myDivId3" checked />3 div

<hr />

<div id="myDivId1" class="ShowOrHide">div #1 content</div>
<div id="myDivId2" class="ShowOrHide">div #2 content</div>
<div id="myDivId3" class="ShowOrHide">div #3 content</div>

<script>
$('input.ShowOrHide').click(function() {
	var this_id = $(this).val();
	if ($(this).attr('checked') == 'checked') {
		$('div#'+this_id).show();
	} else {
		$('div#'+this_id).hide();
	}
});
</script>

</body>
</html>
__________________
Cogito, ergo sum
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2012, 01:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

cmd, боюсь ему надо что-то вроде этого:
<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
 
<input type="checkbox" class="ShowOrHide" value="myDivId1" />1 div
<input type="checkbox" class="ShowOrHide" value="myDivId2" />2 div
<input type="checkbox" class="ShowOrHide" value="myDivId3" />3 div
 
<hr />
 
<div id="myDivId1" class="ShowOrHide">div #1 content</div>
<div id="myDivId2" class="ShowOrHide">div #2 content</div>
<div id="myDivId3" class="ShowOrHide">div #3 content</div>
 
<script>
$('input.ShowOrHide').click(function() {

    var checked = $("input.ShowOrHide:checked");

    if ( checked.length == 0 ) {
        $("div.ShowOrHide").show();
    } else {
        $("div.ShowOrHide").hide();
        checked.each(function() {
            $( 'div#' + $(this).val() ).show();
        });
    }
});
</script>
 
</body>
</html>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 06.09.2015, 03:08
Новичок на форуме
Отправить личное сообщение для Newcomer Посмотреть профиль Найти все сообщения от Newcomer
 
Регистрация: 09.06.2013
Сообщений: 9

А как сделать, чтобы по клику на 2 чекбокс выводились 2 и 3 блок?
Заранее спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 06.09.2015, 16:35
Аспирант
Посмотреть профиль Найти все сообщения от forwardonly2015
 
Регистрация: 31.08.2015
Сообщений: 90

Сообщение от Newcomer
А как сделать, чтобы по клику на 2 чекбокс выводились 2 и 3 блок?
<html>
<head>
<style>
</style>
</head>
<body>



<input type="checkbox" id="one">
<input type="checkbox" id="two">
<input type="checkbox" id="three">
<hr>
<div id="divone">div one</div>
<div id="divtwo">div two</div>
<div id="divthree">div three</div>


<script>

boxes=[one, two, three]
divs=[divone, divtwo, divthree]

hideUnchecked=function(){
  boxes.forEach(function(box){
    window["div"+box.id].style.display=box.checked? "block" : "none"
  })
  if(this===two&&this.checked) divthree.style.display="block" 
  if(!boxes.some(function(box){return box.checked})) divs.forEach(function(div){div.style.display="block"})
}

boxes.forEach(function(box){box.onchange=hideUnchecked})



</script>

</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заблокировать checkbox кроме выделенных YCsys Events/DOM/Window 5 06.06.2012 17:34
jqgrid tree and checkbox gaz2003 jQuery 0 17.12.2011 15:59
Вывод выбранных данных и проверка checkbox MasterHrust Javascript под браузер 3 28.09.2011 17:44
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51
Появление блоков div в зависимости от radio Oracool Events/DOM/Window 1 04.12.2009 18:39