Можно ли использовать двухстрочный текст в опции выбора html? Как?
Разрыв строки в опции выбора HTML?
Ответ 1
Нет, браузеры не предоставляют эту опцию форматирования.
Возможно, вы могли бы подделать его с помощью некоторых флажков с <label>
s и JS, чтобы превратить его в выпадающее меню.
Ответ 2
Я знаю, что это более старая должность, но я оставляю это для тех, кого еще смотрят в будущем.
Вы не можете форматировать разрывы строк в опцию; однако вы можете использовать заголовок attitute, чтобы дать подсказку для мыши, чтобы дать полную информацию. Используйте короткий дескриптор в тексте опции и дайте полный тощий заголовок.
<option value="1" title="This is my lengthy explanation of what this selection really means, so since you only see 1 on the drop down list you really know that you're opting to elect me as King of Willywarts! Always be sure to read the fine print!">1</option>
Ответ 3
Немного взлома, но это дает эффект выбора нескольких строк, помещает серый bgcolor для вашей многострочной линии, и если вы выберете любой серый текст, он выбирает первую из группировки. Сразу умный, я бы сказал:) Первый вариант также показывает, как вы можете поместить тег заголовка для опции.
function SelectFirst(SelVal) {
var arrSelVal = SelVal.split(",")
if (arrSelVal.length > 1) {
Valuetoselect = arrSelVal[0];
document.getElementById("select1").value = Valuetoselect;
}
}
<select name="select1" id="select1" onchange="SelectFirst(this.value)">
<option value="1" title="this is my long title for the yes option">Yes</option>
<option value="2">No</option>
<option value="2,1" style="background:#eeeeee"> This is my description for the no option</option>
<option value="2,2" style="background:#eeeeee"> This is line 2 for the no option</option>
<option value="3">Maybe</option>
<option value="3,1" style="background:#eeeeee"> This is my description for Maybe option</option>
<option value="3,2" style="background:#eeeeee"> This is line 2 for the Maybe option</option>
<option value="3,3" style="background:#eeeeee"> This is line 3 for the Maybe option</option>
</select>
Ответ 4
Код HTML
<section style="background-color:rgb(237.247.249);">
<h2>Test of select menu (SelectboxIt plugin)</h2>
<select name="select_this" id="testselectset">
<option value="01">Option 1</option>
<option value="02">Option 2</option>
<option value="03">Option 3</option>
<option value="04">Option 4</option>
<option value="05">Option 5</option>
<option value="06">Option 6</option>
<option value="07">Option 7 with a really, really long text line that we shall use in order to test the wrapping of text within an option or optgroup</option>
<option value="08">Option 8</option>
<option value="09">Option 9</option>
<option value="10">Option 10</option>
</select>
</section>
Код Javascript
$(function(){
$("#testselectset").selectBoxIt({
theme: "default",
defaultText: "Make a selection...",
autoWidth: false
});
});
Код CSS
.selectboxit-container .selectboxit, .selectboxit-container .selectboxit-options {
width: 400px; /* Width of the dropdown button */
border-radius:0;
max-height:100px;
}
.selectboxit-options .selectboxit-option .selectboxit-option-anchor {
white-space: normal;
min-height: 30px;
height: auto;
}
и вам нужно добавить некоторую библиотеку JQuery выберите Box JQuery CSS
Пожалуйста, проверьте эту ссылку ссылка JsFiddle
Ответ 5
Как разместить длинный текст в другом <option>
справа и отключить его? Может быть, обходной путь для кого-то, так что отправляйте сюда.
<select>
<option>My real option text</option>
<option disabled style="font-style:italic"> (...and my really really long option text that is basically a continuation of previous option)</option>
<option disabled style="font-style:italic"> (...and still continuing my previous option)</option>
<option>Another real option text</option>
</select>
Ответ 6
Не работает полностью (часть hr) во всех браузерах, но вот решение:
<select name="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option disabled><hr></option>
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
</select>
Ответ 7
Вместо этого, возможно, попробуйте заменить выбор с помощью разметки, например.
// Wrap any selects that should be replaced
$('select.replace').wrap('<div class="select-replacement-wrapper"></div>');
// Replace placeholder text with select initial value
$('.select-replacement-wrapper').each(function() {
$(this).prepend('<a>' + $('select option:selected', this).text() + '</a>');
});
// Update placeholder text with updated select value
$('select.replace').change(function(event) {
$(this).siblings('a').text( $('option:selected', this).text() );
});
/* Position relative, so that we can overlay the hidden select */
.select-replacement-wrapper {
position: relative;
border: 3px solid red; /* to show area */
width: 33%;
margin: 0 auto;
}
/* Only shows if JS is enabled */
.select-replacement-wrapper a {
/* display: none; */
/* Notice that we've centered this text -
you can do whatever you want, mulitple lines wrap, etc,
since this is not a select element' */
text-align: center;
display: block;
border: 1px solid blue;
}
select.replace {
position: absolute;
width: 100%;
height: 100%;
top: 0;
border: 1px solid green;
opacity: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select id="dropdown" class="replace">
<option value="First">First</option>
<option value="Second" selected>Second, and this is a long line, just to show wrapping</option>
<option value="Third">Third</option>
</select>
Ответ 8
да, используя стили css white-space: pre-wrap; в классе .dropdown бутстрапа, переопределив его. Раньше это белое пространство: nowrap; поэтому он выдает выпадающий список в одну строку. pre-wrap делает это как по ширине.