在下拉列表中,我需要在列表中的选项前面添加空格。我正在尝试
<select>
<option>  Sample</option>
</select>
用于添加两个空格但不显示空格。如何在选项文本之前添加空格?
答案 0 :(得分:26)
空间实体不是 
吗?
<select>
<option> option 1</option>
<option> option 2</option>
</select>
适合我...
刚刚检查过,可能在旧版浏览器中存在兼容性问题,但在这里似乎一切正常。我想我应该通知您,因为您可能想要替换为
答案 1 :(得分:15)
我认为您需要
或 
所以你的例子的固定版本可能是......
<select>
<option> Sample</option>
</select>
或
<select>
<option>  Sample</option>
</select>
答案 2 :(得分:14)
对String使用 \ xA0 。 在将C#模型数据绑定到下拉列表时,这非常有效......
SectionsList.ForEach(p => { p.Text = "\xA0\xA0Section: " + p.Text; });
答案 3 :(得分:8)
正如Rob Cooper指出的那样,旧浏览器存在一些兼容性问题(IE6会显示实际的字母“&amp; nbsp;”
这就是我在ASP.Net中解决这个问题的方法(我没有打开VS,所以我不确定这些字符实际上被转换为了什么):
Server.HtmlDecode(" ")
答案 4 :(得分:6)
我试过了很多东西,但唯一对我有用的是使用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'))
});
答案 5 :(得分:5)
您还可以按alt + space(在Mac上)以获得不间断的空间。我将它用于Drupal模块,因为Drupal解码了html实体。
答案 6 :(得分:4)
我几乎可以肯定你也可以用CSS填充来完成这个任务。然后,您将不会与硬编码到所有<option>
标签中的空格字符结婚。
答案 7 :(得分:4)
@布赖恩
我几乎可以肯定你也可以用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>
答案 8 :(得分:2)
只需在数字键盘上使用字符255(键入 Alt + 2 + 5 + 5 )像Courier New
这样的等宽字体。
答案 9 :(得分:1)
你能试试吗?或者它是一样的吗?
答案 10 :(得分:1)
Server.HtmlDecode(" ")
是唯一适合我的人。
否则chr将以文本形式打印。
我尝试将填充添加为listitem的属性,但它并没有影响它。
答案 11 :(得分:0)
我也有同样的问题,我需要尽快解决这个问题。虽然我搜索了很多,但我找不到快速的解决方案。
相反,我使用了自己的解决方案,虽然我不确定它是否合适,但它适用于我的情况以及我需要做的事情。
因此,当您在下拉列表中添加ListItem并且想要添加空格时,请使用以下内容: -
按 ALT 并在数字小键盘上输入0160
,因此它应类似于ALT+0160
。它会增加一个空间。
ListItem("ALT+0160 ALT+0160 TEST", "TESTVAL")
答案 12 :(得分:0)
在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');
答案 13 :(得分:-1)
我尝试了其中几个例子,但唯一有用的是使用javascript,就像dabobert&#39; s,但不是jQuery,只是简单的旧vanilla 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。啊。
答案 14 :(得分:-1)
1.Items返回列表
2.Foreach循环列表
3 ..
foreach (var item in q)
{
StringWriter myWriter = new StringWriter();
myWriter.Lable = HttpUtility.HtmlDecode(item.Label.Replace(" ", " "));
}
这项工作对我来说!!!