Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.03.2015, 18:35
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Сообщение от рони Посмотреть сообщение
Infinity178,
можно узнать в чём проблема с пробелами ? или это останется тайной
Посмотрите ссылки в предыдущем сообщении. В картинках для наглядности (ps скрины)
Ответить с цитированием
  #12 (permalink)  
Старый 13.03.2015, 18:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Infinity178,
не могу увидеть проблему
Ответить с цитированием
  #13 (permalink)  
Старый 13.03.2015, 18:49
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

эхх.....

ну поехали с самого начала, на пальцах.

1. Загружается документ
2. Подгружаются данные списков, стили и т.п.
3. После фул загрузки страницы включается обработчик SELECT и добавляет DOM список (DIV > UL > LI) и заполняет список LI с OPTION
4. OPTION:SELECTED помещается путем обработчика в DIV который по сути стоит над UL > LI

пример:
<select>
  <option value="">text test 1</option>
  <option value="" selected="selected">text test 2</option>
  <option value="">text test 3</option>
</select>
<div class="jq-select-wrap">
   <div class="jq-select-text">text test 2</div>
   <div class="jq-select-list">
      <ul>
            <li>text test 1</li>
            <li class="sel">text test 3</li>
            <li>text test 3</li>
      </ul>
   </div>
</div>


Дальше у нас в списке <option>...</option> некоторые пункты имеют пробелы перед названием и нам нужно их удалить.

Включаем replace, функция запускается одновременно с обработчиком DOM списка, тут я нашел два пути:

А: Мы берем .text() из выбранного пункта option:selected убираем лишнее и вставляем в DIV (в примере: div.jq-select-text)
- минус: не работает на вновь создавшихся списках

В: Мы берем .text() из div.jq-select-text и убираем лишние символы,
работает на всех списках, но при изменении option:selected функция replace игнорирует нужный div.
Ответить с цитированием
  #14 (permalink)  
Старый 13.03.2015, 18:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

У вас стилизация выпадающего списка (подмена его) посредством ul li, при этом выпадающие списки скрываются, тогда зачем вы вставляете в эти списки эти пробелы, если их надо удалит в LI?

Я сперва не понял - по базе SELECT ..., воспринял как запрос к базе и выдача для списка, так как тут и ajax и .... в общем все в куче.
Ответить с цитированием
  #15 (permalink)  
Старый 13.03.2015, 19:03
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

в том то и дело что пробелы должны сохраниться в LI и только в выбранном пункте их не должно быть. Ема ё - ну хоть кто нибудь смотрел скрины???
Ответить с цитированием
  #16 (permalink)  
Старый 13.03.2015, 19:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

По мультикам не всегда видна истина )

Тут надо знать как организован выбор в этом стилизованном списке, если это помещение выбранного LI в верх списка (остальные после выбора скрываются), то нужно запоминать текст его в data, чтобы потом восстановить, а для показа удалить пробелы. Если выбранное значение хранит другой элемент, то удалять пробелы из помещаемого в него текста.
Ответить с цитированием
  #17 (permalink)  
Старый 13.03.2015, 19:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от Infinity178
в том то и дело что пробелы должны сохраниться в LI и только в выбранном пункте их не должно быть.
идём по ссылке ищем пробелы в div.jq-selectbox__select-text
http://learn.javascript.ru/play/WGCLgb

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

Infinity178,
долго молчал партизан
Ответить с цитированием
  #19 (permalink)  
Старый 13.03.2015, 20:02
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

так теперь вопрос на засыпку - я правельно понял что чистка пробелов происходит в styler() - ?

только эту строчку добавили?
if (el.val() === '') {
  divText.text(selectPlaceholder).addClass('placeholder');
} else {
   divText.text(optionSelected.text().replace(/\s+/g,''));
}
Ответить с цитированием
  #20 (permalink)  
Старый 13.03.2015, 20:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Infinity178,
строки 675 и 419 по ссылке в 17 посте файл
jquery.formstyler.js
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подбор варианта из списка select при наборе текста omvitamin Элементы интерфейса 6 04.04.2011 14:48
удаление disabled при нажатии на элемент выпадающего списка deNSe_01 Events/DOM/Window 3 28.01.2011 10:49
Изменения изображения при выборе из списка hayk Общие вопросы Javascript 10 30.11.2010 10:42
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
раскрывать/скрывать <td> при выборе определенного элемента списка zip Элементы интерфейса 2 19.01.2009 13:58