В раскрывающемся списке мне нужно добавить пробелы перед опциями в списке. Я пытаюсь
<select>
<option>  Sample</option>
</select>
для добавления двух пробелов, но не содержит пробелов. Как добавить пробелы перед текстами опций?
В раскрывающемся списке мне нужно добавить пробелы перед опциями в списке. Я пытаюсь
<select>
<option>  Sample</option>
</select>
для добавления двух пробелов, но не содержит пробелов. Как добавить пробелы перед текстами опций?
Не  
объект для пробела?
<select>
<option> option 1</option>
<option> option 2</option>
</select>
Работает для меня...
Просто проверил это, возможно, проблемы совместимости с этим в старых браузерах, но все, похоже, отлично работает для меня здесь. Просто подумал, что я должен сообщить вам, поскольку вы можете заменить на
Используйте \xA0 со String. Это работает Perfect при привязке данных модели С# к выпадающему списку...
SectionsList.ForEach(p => { p.Text = "\xA0\xA0Section: " + p.Text; });
Я думаю, вы хотите
или  
Таким образом, фиксированная версия вашего примера может быть...
<select>
<option> Sample</option>
</select>
или
<select>
<option>  Sample</option>
</select>
Как отметил Роб Купер, некоторые проблемы совместимости со старыми браузерами (IE6 отображает фактические буквы "& nbsp;"
Вот как я обхожу это в ASP.Net(у меня нет VS open, поэтому я не уверен, какие символы на самом деле переводится):
Server.HtmlDecode(" ")
Я попробовал несколько вещей, но единственное, что сработало для меня, это использовать javascript. просто заметьте, что я использую код Unicode для пространства, а не для html-объекта, поскольку js doenst знает что-то о сущности
$("#project_product_parent_id option").each(function(i,option){
$option = $(option);
$option.text($option.text().replace(/─/g,'\u00A0\u00A0\u00A0'))
});
Вы также можете нажать alt + space (на mac) для неразрывного пространства. Я использую его для модуля Drupal, потому что Drupal декодирует html-объекты.
Я почти уверен, что вы можете выполнить это с добавлением CSS. Тогда вы не будете женаты, чтобы символы пробелов были жестко закодированы во все ваши теги <option>
.
@Брайан
Я почти уверен, что вы можете выполнить это с добавлением CSS. Тогда вы не будете женаты, чтобы символы пространства были жестко закодированы во все ваши теги.
Хорошее мышление - но, к сожалению, оно не работает (каждый любимый браузер...) IE7: - (
Вот код, который будет работать в Firefox (и я предполагаю Op/Saf).
<select>
<option style="padding-left: 0px;">Blah</option>
<option style="padding-left: 5px;">Blah</option>
<option style="padding-left: 10px;">Blah</option>
<option style="padding-left: 0px;">Blah</option>
<option style="padding-left: 5px;">Blah</option>
</select>
Просто используйте char 255 (введите Alt + 2 + 5 + 5 на цифровой клавиатуре) с моноширинным шрифтом, например Courier New
.
Вы можете попробовать? Или это одно и то же?
Server.HtmlDecode(" ")
- единственный, который работал у меня.
В противном случае chr печатаются как текст.
Я попытался добавить padding в качестве атрибута для listitem, но это не повлияло на него.
У меня также была такая же проблема, и я должен был исправить это как можно скорее. Хотя я много гугл, я не смог найти быстрое решение.
Вместо этого я использовал свое собственное решение, хотя я не уверен, что он его подходит, он работает в моем случае и точно, что я должен был делать.
Итак, когда вы добавляете ListItem в раскрывающийся список и хотите добавить пробел, используйте следующее: -
Нажмите ALT и наберите 0160
на вашей цифровой клавиатуре, так что это должно быть что-то вроде ALT+0160
. Он добавит пробел.
ListItem("ALT+0160 ALT+0160 TEST", "TESTVAL")
В PHP вы можете использовать html_entity_decode:
obj_dat.options[0] = new Option('Menu 1', 'Menu 1');
obj_dat.options[1] = new Option('<?php echo html_entity_decode(' '); ?>Menu 1.1', 'Menu 1.1');
Я попробовал несколько из этих примеров, но единственное, что сработало, - это использовать javascript, как и dabobert, но не jQuery, просто старый ванильный javascript и пробелы:
for(var x = 0; x < dd.options.length; x++)
{
item = dd.options[x];
//if a line that needs indenting
item.text = ' ' + item.text; //indent
}
Это только IE. IE11 на самом деле. Тьфу.
1.Items Вернуться к списку
2. Цикл форекс в списке
3..
foreach (var item in q)
{
StringWriter myWriter = new StringWriter();
myWriter.Lable = HttpUtility.HtmlDecode(item.Label.Replace(" ", " "));
}
Эта работа для меня!!!