2015-05-04 4 views
2
<a class="click_' + module_row + '_' + element + '_on">Show</a> 
<div class="div_' + module_row + '_' + element + '_show">div content</div> 

JQuery .click (функция() {не работает

$('.div_' + module_row + '_' + element + '_show').hide(); 
$('.click_' + module_row + '_' + element + '_on').click(function(){ 
    $('.div_' + module_row + '_' + element + '_show') 
    .fadeIn('slow') 
    .show('slow') 
}); 

Я пытаюсь показать динамически содержание DIV с помощью JavaScript. Но не работает.

+0

каковы значения 'module_row' и 'элемента' –

+0

вы код в порядке, вы должны проверить, что 'console' для' errors' – ozil

+0

класс не может походить на него. Вы можете добавить имя класса, используя jquery –

ответ

1

Я предполагаю, что вы добавляете это динамически с помощью JavaScript, если это так, вы должны использовать:

$(document).on('click','.click_' + module_row + '_' + element + '_on',function() {   
    // hide here, that is simple 
}); 

Edit 1) есть ли у вас module_row и элемент определен? Я думаю, что это проблема. Расскажите нам больше об этих селекторах?

Редактировать 2) Поскольку вы сказали мне, что module_row и элементы - это числа, вы должны использовать другой синтаксис. Используйте php, чтобы поместить атрибут module_row и element в атрибут. Код HTML:

<a class="div_show" data-module="module_row" data-element="element">div content</div> 

код JS:

$(document).on('click','.click_on',function (e) {   
    // not to reload the page   
    e.preventDefault(e); 
    var module = $(this).attr('data-module'); 
    var element = $(this).attr('data-element'); 
    $('div_' + module + '_' + element + '_show').hide() 
}); 

Вы, возможно, потребуется настроить его вокруг немного больше, но вот это

+0

Вы правы. Не работает брат. Если вы предложите другое. – Foxpro

+0

Проверьте 2 вещи, html в элементе проверки, чтобы увидеть, как будет выглядеть селектор. Второе: put console.log ('work'); просто чтобы узнать, есть ли у вас событие. Моя догадка заключается в том, что у вас нет этих переменных, определяемых globaly, поэтому вы не можете иметь правильный выбор. Почему вы кладете module_row и элемент? Я думаю, что есть более элегантное решение, чем – Arcagully

+0

Я работаю над php, и это пример формы, которую я создаю на php. – Foxpro

Смежные вопросы