Javascript.RU

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

Помогите с нумерацией <li>
Нужно чтобы по нажатию выводило номер li, какой он по счету.
Произвожу нумерацию следующим образом:
<ul class="list">
		<li class="dd-item"  onclick="bui()">
			<div class="dd-handle">кат 1</div>
			<ul class="list">
				<li class="dd-item"  onclick="bui()">
					<div class="dd-handle">кат 1.3</div>
					<ul class="list">
					</ul>
				</li>
				<li class="dd-item"  onclick="bui()">
					<div class="dd-handle">кат 1.2</div>
					<ul class="list">
					</ul>
				</li>
				<li class="dd-item"  onclick="bui()">
					<div class="dd-handle">кат 1.1</div>
					<ul class="list">
					</ul>
				</li>
			</ul>
		</li>
	</ul>


function bui() {
			$('li.dd-item').each(function(i){
				$(this).click(function(){
					$('.adsadd').html(++i);
				});
			});
	}


Когда li в столбец без родителей, все правильно выводит.

А когда наследую:
<ul>
		<li>
			<div>кат 1</div>
			<ul>
				<li>
					<div>кат 2</div>
				</li>
			</ul>
		</li>
	</ul>

Нумерация дочерних элементов останавливается на родителе
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2016, 21:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Такими темпами ты вечность пилить будешь.
Скажи какая именно задача у тебя стоит.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 05.11.2016, 22:00
Интересующийся
Отправить личное сообщение для Antonqq Посмотреть профиль Найти все сообщения от Antonqq
 
Регистрация: 05.11.2016
Сообщений: 18

У меня есть дерево категорий, осталось определить их позицию и записать в бд
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2016, 22:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от Antonqq
Нумерация дочерних элементов останавливается на родителе
event.stopPropagation();
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2016, 22:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Antonqq,
function bui бесполезная и вредная , замените её на ready если ul.list неизменно или на on если нужно актуально
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2016, 22:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Antonqq,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {


        $('.list').on('click', 'li.dd-item', function(event){
          event.stopPropagation();
          var i = $('li.dd-item').index(this);
          $('.adsadd').html(++i);
        });



});
  </script>
</head>

<body>
<ul class="list">
    <li class="dd-item"  >
      <div class="dd-handle">кат 1</div>
      <ul class="list">
        <li class="dd-item"  >
          <div class="dd-handle">кат 1.3</div>
          <ul class="list">
          </ul>
        </li>
        <li class="dd-item"  >
          <div class="dd-handle">кат 1.2</div>
          <ul class="list">
          </ul>
        </li>
        <li class="dd-item"  >
          <div class="dd-handle">кат 1.1</div>
          <ul class="list">
          </ul>
        </li>
      </ul>
    </li>
  </ul>
<div class="adsadd"></div>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 05.11.2016, 23:59
Интересующийся
Отправить личное сообщение для Antonqq Посмотреть профиль Найти все сообщения от Antonqq
 
Регистрация: 05.11.2016
Сообщений: 18

Все замечательно работает, спасибо большое)
Не подскажете как как реализовать следующею вещь:
При нажатии на <li> , нужно вытащить из <li>-родителя атрибута data-id (число), и записать в его атрибут data-parent, по которому произведен клик.
Целый день над этим голову ломаю, не знаю как вытащить из родительского ((
Ответить с цитированием
  #8 (permalink)  
Старый 06.11.2016, 00:15
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

$('li').click(function(){
  var $this = $(this);
  $this.data( 'parent', $this.parents('li[data-id]').data('id') )
})
__________________
29375, 35

Последний раз редактировалось Aetae, 06.11.2016 в 00:18.
Ответить с цитированием
  #9 (permalink)  
Старый 06.11.2016, 00:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Antonqq,
может почитать чего ...
var id = $(this).parents('li:first').data('id')
Ответить с цитированием
  #10 (permalink)  
Старый 06.11.2016, 00:52
Интересующийся
Отправить личное сообщение для Antonqq Посмотреть профиль Найти все сообщения от Antonqq
 
Регистрация: 05.11.2016
Сообщений: 18

Это работает
var id = $(this).parents('li:first').data('id');

Но оно получает id у самого первого родителя, а у меня дерево.
Нужно id того родителя, что на один выше
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачку. Андрей_ Javascript под браузер 3 26.06.2012 16:21
Помогите с таймером и окошком! xXapokalypsesXx Общие вопросы Javascript 4 07.06.2012 01:12
Помогите с наследованием develka Общие вопросы Javascript 1 06.06.2012 09:50
Помогите вытащить отсюда калькулятор sergiocharm Общие вопросы Javascript 8 17.04.2012 22:22
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50