Подтвердить что ты не робот

Как поместить символ пробела перед текстом опции в элемент выбора HTML?

В раскрывающемся списке мне нужно добавить пробелы перед опциями в списке. Я пытаюсь

<select>
<option>&#32;&#32;Sample</option>
</select>

для добавления двух пробелов, но не содержит пробелов. Как добавить пробелы перед текстами опций?

4b9b3361

Ответ 1

Не &#160 объект для пробела?

<select>
<option>&#160;option 1</option>
<option>    option 2</option>
</select>

Работает для меня...

EDIT:

Просто проверил это, возможно, проблемы совместимости с этим в старых браузерах, но все, похоже, отлично работает для меня здесь. Просто подумал, что я должен сообщить вам, поскольку вы можете заменить на &nbsp;

Ответ 2

Используйте \xA0 со String. Это работает Perfect при привязке данных модели С# к выпадающему списку...

  SectionsList.ForEach(p => { p.Text = "\xA0\xA0Section: " + p.Text; });

Ответ 3

Я думаю, вы хотите &nbsp; или &#160;

Таким образом, фиксированная версия вашего примера может быть...

<select>
  <option>&nbsp;&nbsp;Sample</option>
</select>

или

<select>
  <option>&#160;&#160;Sample</option>
</select>

Ответ 4

Как отметил Роб Купер, некоторые проблемы совместимости со старыми браузерами (IE6 отображает фактические буквы "& nbsp;"

Вот как я обхожу это в ASP.Net(у меня нет VS open, поэтому я не уверен, какие символы на самом деле переводится):

Server.HtmlDecode("&nbsp;") 

Ответ 5

Я попробовал несколько вещей, но единственное, что сработало для меня, это использовать 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'))
});

Ответ 6

Вы также можете нажать alt + space (на mac) для неразрывного пространства. Я использую его для модуля Drupal, потому что Drupal декодирует html-объекты.

Ответ 7

Я почти уверен, что вы можете выполнить это с добавлением CSS. Тогда вы не будете женаты, чтобы символы пробелов были жестко закодированы во все ваши теги <option>.

Ответ 8

@Брайан

Я почти уверен, что вы можете выполнить это с добавлением 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>

Ответ 9

Просто используйте char 255 (введите Alt + 2 + 5 + 5 на цифровой клавиатуре) с моноширинным шрифтом, например Courier New.

Ответ 10

&nbsp;

Вы можете попробовать? Или это одно и то же?

Ответ 11

Server.HtmlDecode("&nbsp;") - единственный, который работал у меня.

В противном случае chr печатаются как текст.

Я попытался добавить padding в качестве атрибута для listitem, но это не повлияло на него.

Ответ 12

У меня также была такая же проблема, и я должен был исправить это как можно скорее. Хотя я много гугл, я не смог найти быстрое решение.

Вместо этого я использовал свое собственное решение, хотя я не уверен, что он его подходит, он работает в моем случае и точно, что я должен был делать.

Итак, когда вы добавляете ListItem в раскрывающийся список и хотите добавить пробел, используйте следующее: -

Нажмите ALT и наберите 0160 на вашей цифровой клавиатуре, так что это должно быть что-то вроде ALT+0160. Он добавит пробел.

ListItem("ALT+0160 ALT+0160 TEST", "TESTVAL")

Ответ 13

В 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('&nbsp;&nbsp;&nbsp;'); ?>Menu 1.1', 'Menu 1.1');

Ответ 14

Я попробовал несколько из этих примеров, но единственное, что сработало, - это использовать 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 на самом деле. Тьфу.

Ответ 15

1.Items Вернуться к списку

2. Цикл форекс в списке

3..

foreach (var item in q)
{
    StringWriter myWriter = new StringWriter();

    myWriter.Lable = HttpUtility.HtmlDecode(item.Label.Replace(" ", "&nbsp;"));
}

Эта работа для меня!!!