Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Показать текст, если чекбоксов нет. (https://javascript.ru/forum/dom-window/16322-pokazat-tekst-esli-chekboksov-net.html)

qwaker 03.04.2011 22:43

Показать текст, если чекбоксов нет.
 
Кажется, несложная задача, но что то не выходит.

Есть список включенных чекбоксов. Когда выключаем чекбоксы, они исчезают -
$('#tarea2 input[id="'+newid+'"]').css('display','none');
$('#tarea2 label[for="'+newid+'"]').empty();


Задача - когда выключаем самый последний чекбокс (то есть поле #tarea2 на вид (!) осталось пустым) - появляется текст "Ничего не отмечено".

Как реализовать проверку на наличие активных (у которых display не равно none) чекбоксов ? Делал вот так, но не работает:
if (!($("#tarea2 input:checked")))
    {
    $('#tarea2').append('Не отмечено');
    };


И вот так тоже не работает:

if ($("#tarea2 input:checked").lenght=1)
    {
    $('#tarea2').append('Не отмечено');
    };

melky 03.04.2011 23:25

Цитата:

Сообщение от qwaker (Сообщение 99128)

if ($("#tarea2 input:checked").*!*lenght=*/!*1)
    {
    $('#tarea2').append('Не отмечено');
    };

1 - length!
2 - там присваивание, а не сравнивание


т.к. length и единичка одного типа (number) , то пущай будет тройное равно.

if (   $("#tarea2 input:checked").length === 1 )  {

    $('#tarea2').append('Не отмечено');

};

walik 03.04.2011 23:29

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
	$('.chb').click(function() {
		if ($('.chb:checked').length > 0)
			$('#textarea').html('Есть отмеченные чекбоксы');
		else 
			$('#textarea').html('Нет отмеченых чекбоксов');
	});
});
</script>
</head>
<body>
<input type="checkbox" id="1" class="chb" /><br />
<input type="checkbox" id="2" class="chb" /><br />
<input type="checkbox" id="3" class="chb" /><br />
<div id="textarea"></div>
</body>
</html>

qwaker 04.04.2011 09:59

Блин, супер, огромное спасибо! Всё работает как часы =)


Часовой пояс GMT +3, время: 08:47.