Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как добавить текст после элемента? (https://javascript.ru/forum/jquery/20913-kak-dobavit-tekst-posle-ehlementa.html)

AquaGen 22.08.2011 15:45

как добавить текст после элемента?
 
вот код:
$(":submit").click(function(){
			if ($('input:checkbox').attr('checked')!='checked') {
				var ret='<div class="warning"><div id="triangle-left"></div><div class="wainfo">Выберите!</div></div>';
				$(this).after(ret);
			}
			return false;
		});

код добавляется после :submit, а не после input:checkbox, что делать?
так как input:checkbox много, то вместо this input:checkbox не пойдет

B@rmaley.e><e 22.08.2011 15:52

Цитата:

Сообщение от AquaGen
так как input:checkbox много, то вместо this input:checkbox не пойдет

Тогда зачем Вы проверяете первый чекбокс на странице?

Не зная структуру Вашего документа помочь сложно.

AquaGen 22.08.2011 15:58

вообщем мне при нажатии на submit надо проверить заполнены ли все чикбоксы, если не заполнены после незаполненного добавить текст

walik 22.08.2011 17:48

$(":submit").click(function(){
   $(':checkbox', this).each(function() {
      if ($('input:checkbox').attr('checked')!='checked') {
         var ret='<div class="warning"><div id="triangle-left"></div><div class="wainfo">Выберите!</div></div>';
                $(this).after(ret);
      }
   });
});

AquaGen 22.08.2011 18:13

не работает данный код, даже если вместо var ret... поставить тупо alert(); он не будет появляться

nikita.mmf 22.08.2011 19:42

$("form").submit(function(){
	if ( $( "input[type='checkbox']", this ).next(".warning").remove().end().not(":checked").after('<div class="warning"><div id="triangle-left"></div><div class="wainfo">Выберите!</div></div>').length ) {
		return false;
	}
});

AquaGen 23.08.2011 06:02

работает, но все время return false, а как сделать чтобы если были чикбоксы не заполнены return false, иначе форма бы отправлялась.
а то этот .length возращает 2 когда два чикбокса выставлены, а если один не выставлен или все выставлены возвращается 1. и как определить что выставлены все?

melky 23.08.2011 10:02

if(.....length !== 2) return false;

AquaGen 23.08.2011 11:48

ой, я что-то не то написал
когда один выставлен возвращается 1 и когда оба выставлены возвращается 1

nikita.mmf 23.08.2011 16:21

$("form").submit(function(){
	var $notChecked = $( "input[type='checkbox']", this ).next(".warning").remove().end().not(":checked");
	if ( $notChecked.length ) {
		$notChecked.after('<div class="warning"><div id="triangle-left"></div><div class="wainfo">Выберите!</div></div>')
		return false;
	}
});


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