[英]How do I put a space character before option text in a HTML select element?
在下拉列表中,我需要在列表中的選項前添加空格。 我在嘗試
<select>
<option>  Sample</option>
</select>
添加兩個空格但不顯示空格。 如何在選項文本之前添加空格?
 
是空間的實體?
<select>
<option> option 1</option>
<option> option 2</option>
</select>
對我有用......
剛檢查一下,在舊版瀏覽器中可能存在兼容性問題,但在這里似乎一切正常。 只是想我應該讓你知道,因為你可能想要替換為
將\\ xA0與String 一起使用。 這項工作完美,同時將C#模型數據綁定到下拉列表...
SectionsList.ForEach(p => { p.Text = "\xA0\xA0Section: " + p.Text; });
我想你想要
或 
所以你的例子的固定版本可能是......
<select>
<option> Sample</option>
</select>
要么
<select>
<option>  Sample</option>
</select>
正如Rob Cooper指出的那樣,舊瀏覽器存在一些兼容性問題(IE6會顯示實際的字母“&nbsp;”
這就是我在ASP.Net中解決這個問題的方法(我沒有打開VS所以我不確定這些字符實際上被翻譯成了什么):
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將打印為文本。
我試圖將填充添加為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,只是簡單的舊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。 啊。
1.Items返回列表
2.Foreach循環列表
3 ..
foreach (var item in q)
{
StringWriter myWriter = new StringWriter();
myWriter.Lable = HttpUtility.HtmlDecode(item.Label.Replace(" ", " "));
}
這項工作對我來說!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.