Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с jquery (https://javascript.ru/forum/misc/38099-problemy-s-jquery.html)

zaytsewa 19.05.2013 10:36

Проблемы с jquery
 
Всем привет! Вопрос по jquery.
parent.find(".area_edit").hide();

тут несколько объектов, именно 2 штуки
так тоже не работает
var objs = parent.find(".area_edit");//.hide();
	for ( var i = 0; i < objs.length; ++i )
		$(objs[i]).hide();


и ещё вопрос:

$(this).hide();

должно работать?

vadim5june 19.05.2013 10:49

Цитата:

Сообщение от zaytsewa
parent.find(".area_edit").hide();

А где здесь JQuery?
может так
$(parent).find(".area_edit").each(function(){$(this).hide()})

zaytsewa 19.05.2013 10:55

всё равно не работает(

vadim5june 19.05.2013 11:03

parent это что?

zaytsewa 19.05.2013 11:05

var parent = $(this).parent();

vadim5june 19.05.2013 11:16

должно работать-полностью приведите с html

vadim5june 19.05.2013 11:32

вот так работает
$(function(){$('#ccc').click(function(){var parent=$(this).parent();$(parent).find
(".area_edit").each(function(){$(this).hide()})})
});

BallsShaped 19.05.2013 12:38

parent - пустая коллекция. Очевидно, причина в том, что this - не ссылается на дом-элемент. Скорее всего, this == window.
Выход: научится пользоватся отладчиком.

zaytsewa 19.05.2013 13:58

<td class='area'>
		<input type='hidden' class='area_id' value='{$area_id}'>
		<select class='area_edit'></select>
		<button class='area_edit ok_btn' text='OK'>OK</button>
		<label id='area_name'>{$area_name}</label>
	<td>


$(".ok_btn").click( function(){
//console.log("ok_btn clicked")
//console.log( $(this).parent().html())
var parent = $(this).parent();

if ( parent.hasClass("area"))
{
	//console.log("area")
	var new_area_name = parent.find(".area_edit option:selected").text();
	var new_area_id = parent.find(".area_edit option:selected").val();
	console.log(new_area_name)
	parent.find(".area_id").val( new_area_id ); 
	parent.find("#area_name").text( new_area_name );
	parent.find("#area_name").show();
	parent.find(".area_edit").each(function(){$(this).hide()})
	$(this).hide();
}
...
})

vadim5june 19.05.2013 14:37

$(this).hide();
удалите в конце
У Вас там таблица а это фрагмент?
все работает


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