Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2013, 17:59
Новичок на форуме
Отправить личное сообщение для preanik Посмотреть профиль Найти все сообщения от preanik
 
Регистрация: 03.08.2013
Сообщений: 3

Событие onclick выполняется на первом элементе
Здравствуйте!
Мне необходимо сделать алфавитный указатель, т.е. чтобы при клике на какую-то букву алфавита, выводились соответствующие этой букве категории.
Помогите разобраться пожалуйста, почему функция onclick срабатывает только на первом элементе?
<?php
$l1 = '';
$args = array(  
		'type'                     => 'post'  
		 ,'orderby'                  => 'name'
		 ,'hide_empty'				=> 0
		 ,'child_of'				=>6
		 ,'order'                    => 'ASC'  );  
$categories = get_categories( $args );  
foreach($categories as $category) { 
  $l2 = mb_substr($category->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
	//echo($l2);
    echo '<div class="test1" onclick="ima('.$l1.')"><a href="#">' . $l1 . '</a>';
  }
  echo '<div title="'.$l1.'" class="test2" style="display:none"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div></div>';
} ?>

function ima(litera){
	exit=litera;
	jQuery("[title =" + exit + "]").fadeIn(500);
}
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2013, 18:46
Новичок на форуме
Отправить личное сообщение для preanik Посмотреть профиль Найти все сообщения от preanik
 
Регистрация: 03.08.2013
Сообщений: 3

Я так понял, здесь при onclick надо передавать this. А как в таком случае с this передать содержание переменной $l1 ?
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2013, 19:45
Новичок на форуме
Отправить личное сообщение для preanik Посмотреть профиль Найти все сообщения от preanik
 
Регистрация: 03.08.2013
Сообщений: 3

Оказалось всё проще, чем я думал.

Получилось сделать так:
<?php
$l1 = '';
$args = array(  
		'type'                     => 'post'  
		 ,'orderby'                  => 'name'
		 ,'hide_empty'				=> 0
		 ,'child_of'				=>6
		 ,'order'                    => 'ASC'  );  
$categories = get_categories( $args );  
foreach($categories as $category) { 
  $l2 = mb_substr($category->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
	//echo($l2);
    echo '<div class="test1" title="'.$l1.'" onclick="ima(this)"><a href="#">' . $l1 . '</a></div>';
  }
  echo '<div title="'.$l1.'" class="test2" style="display:none"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';
} ?>


function ima(litera){
	var litera = $(litera).attr('title');
	jQuery("[title='"+ litera +"']").fadeIn(500);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполняется ли событие? (Sandr) Общие вопросы Javascript 9 08.03.2012 01:37
событие onclick chelsea Общие вопросы Javascript 1 17.09.2010 11:31
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 18:31
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 18:01
Изменить текст под изображением на котором событие onclick GodRa Общие вопросы Javascript 2 12.11.2008 23:15