Информационная лента
Чат


Загрузка данных...

Необходимо авторизоваться!

Свежие обсуждения


Загрузка данных...

Топ активов

  • 1 · Посты: 3244 · Репутация: 187
  • 2 · Посты: 3194 · Репутация: 333
  • 3 · Посты: 2321 · Репутация: 1319
  • 4 · Посты: 1613 · Репутация: 373
  • 5 · Посты: 1424 · Репутация: 359

Форум
  • Страница 1 из 1
  • 1
Архив - только для чтения
Форум » WEB » Решенные вопросы JS » Сортировка.
Сортировка.
Оффлайн
KaLTeR · Написал: 370 сообщений · Репутация: 229 · Группа: «Постоянный»
Ну что ж, дорогие разработчики. У меня снова возникла проблема с сортировкой. Никак не могу найти или додуматься.
В общем я имею несколько блоков с текстом:
Code
<div>Нижневартовск</div>
<div>Нижневартовск</div>
<div>Москва</div>

Проблема в следующем:
Мне нужно объединить блоки с одинаковым текстом, в один.
т.е. вот так:
из этого:  
Code
<div>Нижневартовск</div>
<div>Нижневартовск</div>
<div>Москва</div>

----------
в это:
Code
<div>Нижневартовск</div>
<div>Москва</div>   

У кого мозгов хватит? дам 800 Jm при рабочем скрипте.=)
22.08.2012, в 12:31 | # 1 · | Понравилось: 0

Оффлайн
Push · Написал: 3244 сообщения · Репутация: 187 · Группа: «Администратор»
KaLTeR, а зачем тебе такой заумный скрипт?)
22.08.2012, в 16:03 | # 2 · | Понравилось: 0

Оффлайн
Web41k · Написал: 901 сообщение · Репутация: 65 · Группа: «Постоянный»
Code
<script>
var divs = $('div:contains("текст")').size();
if(divs >= 2){$('div:contains("текст"):gt(divs-1)').remove();}
</script>

Может, так?
22.08.2012, в 16:40 | # 3 · | Понравилось: 0

Оффлайн
Push · Написал: 3244 сообщения · Репутация: 187 · Группа: «Администратор»
KaLTeR, долго думали с Димоном, в итоге наворотили что-то типо этого:
Code

<div id="result" style="display:none">
<div>Нижневартовск</div>
<div>Курск</div>
<div>Нижневартовск</div>
<div>Москва</div>
<div>Кашира</div>
<div>Москва</div>
<div>Ступино</div>
<div>Курск</div>
<div>Воронеж</div>
</div>

<script>
/*Push & Expert*/
var repeats = [];
$(function () {
$('#result div').each(function () {
repeats.push($(this).text()) // Добавляем все элементы из div в массив для работы с ними
})
$('#result').empty().show(); // Очищаем #result, его содержимое заполнят новые данные
repeats.sort(); var n;
for (var i = repeats.length - 1; i >= 0; i--) {
       if (repeats[i] == n) { repeats.splice(i, 1); } else { n = repeats[i]; }
} // Пробегаемся по массиву repeats и удаляем повторные элементы
for(s=0; s < repeats.length; s++) {
$('#result').append('<div id="sort'+s+'">'+repeats[s]+'</div>'); //Записываем #result отфильтрованный от повторов список элементов
}
})
</script>
22.08.2012, в 23:34 | # 4 · | Понравилось: 0

Оффлайн
Expert · Написал: 1424 сообщения · Репутация: 359 · Группа: «Администратор»
Скрипт, кстати, полностью универсален, одновременно работает с неограниченным кол-вом элементов и довольно быстро :)
22.08.2012, в 23:39 | # 5 · | Понравилось: 0

Оффлайн
KaLTeR · Написал: 370 сообщений · Репутация: 229 · Группа: «Постоянный»
Push, Expert, спасибо Вам большое=).
23.08.2012, в 10:45 | # 6 · | Понравилось: 0

Оффлайн
KaLTeR · Написал: 370 сообщений · Репутация: 229 · Группа: «Постоянный»
JM передал. Тема закрыта.
23.08.2012, в 10:47 | # 7 · | Понравилось: 0

Форум » WEB » Решенные вопросы JS » Сортировка.
  • Страница 1 из 1
  • 1
Поиск:
uJS.su - сайт, посвященный уникальным разработкам для системы uCoz. У нас Вы найдете десятки готовых интересных уникальных решений для Вашего сайта, а также сможете оставить свою идею, которую мы постараемся реализовать.