Не разрешать раскрывающийся список для отображения полного текста

Можно ли отделить предварительный просмотр раскрывающегося списка от фактического текста раскрывающегося списка? У меня есть такой код, который я хочу отображать только при предварительном просмотре, но показывать полный текст при раскрытии раскрывающегося списка:

<option value = "">{"Lorem ipsum dolor sit".substring(0,15)+"..."}</option>

Как сделать так, чтобы предварительный просмотр в раскрывающемся списке не был полным текстом и ограничился добавлением "..." и чтобы этот текст отображался полностью после выбора раскрывающегося списка

Прошу прощения, если это сбивает с толку. Сложно объяснить, что мне нужно. Вот сценарий JS с тем, как выглядит мой код, чтобы помочь уменьшить путаницу.

http://jsfiddle.net/251s9tuf/1/

select {
  width: 100px
}
<select id='cboSelect'>
  <option value = "the_value" label = "the text... displayed">the hidden text longer much longer text I want to be shown once dropdown is selected</option>
  <option value = "the_value" label = "the text displayed2">the hidden text longer much longer text2</option>
</select>

Похоже, вы хотите закодировать элемент, который выглядит как select, поскольку с ним мало что можно сделать ...

epascarello 27.11.2018 20:32

Я бы тоже выбрал индивидуальное решение, это сложно сделать с <select>, у вас нет надежных событий для открытия / закрытия. Эта рабочий пример - это то место, где я должен был, прежде чем сдаться, может дать вам несколько идей. jsfiddle.net/251s9tuf/4

IrkenInvader 27.11.2018 20:43

Спасибо, Ирекен, я тоже подумал, что мне придется это сделать, но, похоже, это больше проблем, чем того стоит всего за несколько "...". Это был запрос моего начальника, но я просто рассказал ей о проблеме, связанной с этим материалом, и о том, насколько сложно / требует много времени для чего-то такого простого. Надеюсь, она понимает, но я обычно никогда не хочу говорить правду, потому что это иногда портит мою репутацию: | Я ценю помощь

Eric Lima 27.11.2018 20:51

Я просто дам вашему руководителю оценку и позволю ему выяснить, стоит ли это делать. Мы рады реализовать настраиваемые поля выбора, но это займет два дня!

IrkenInvader 27.11.2018 20:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
151
1

Ответы 1

Я думаю, что CSS позаботится об этом за вас в Firefox (но Chrome и Safari не уважают этот стиль на <option>).

select {
  overflow: hidden;
  width: 100px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
<select id='cboSelect'>
  <option value = "the_value" label = "the text... displayed">the hidden text longer much longer text I want to be shown once dropdown is selected</option>
  <option value = "the_value" label = "the text displayed2">the hidden text longer much longer text2</option>
</select>

не совсем то, о чем спрашивал OP .... и я не вижу ... как предлагает ваш код. (Использование хрома)

epascarello 27.11.2018 20:31

О, ты прав. Это не работает в Chrome. Это сработало в FF. ?

creativetim 27.11.2018 20:39

Кажется, что Chrome уважает вырезка контента, однако он не добавляет многоточие и FWICT, это исторически было проблемой для тегов <option>. Тем не менее, похоже, что потребуется решение JS, чтобы заполнить пробел или списать его на прогрессивное улучшение.

creativetim 27.11.2018 20:48

Другие вопросы по теме