Проблемы с 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(); должно работать? |
Цитата:
может так
$(parent).find(".area_edit").each(function(){$(this).hide()})
|
всё равно не работает(
|
parent это что?
|
var parent = $(this).parent(); |
должно работать-полностью приведите с html
|
вот так работает
$(function(){$('#ccc').click(function(){var parent=$(this).parent();$(parent).find
(".area_edit").each(function(){$(this).hide()})})
});
|
parent - пустая коллекция. Очевидно, причина в том, что this - не ссылается на дом-элемент. Скорее всего, this == window.
Выход: научится пользоватся отладчиком. |
<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();
}
...
})
|
$(this).hide();
удалите в конце У Вас там таблица а это фрагмент? все работает |
| Часовой пояс GMT +3, время: 09:42. |