function addOption(selectbox, val, txt){
......
}
addOption(list, "Cars", "Cars");
我需要在函数文本前面添加它:
因此在选项文本之前有空格...不管它是什么,它只是令人困惑......我只是不知道如何将它插入到js代码中。
如果我这样做:
addOption(list, "Cars", " Cars");
然后
进入文本,因此会显示给用户。
但是我需要把它解释为“空间”......
如果您不理解,请告诉我......
我该怎么做?行情,双引号等?
由于
更新:
function addOption(selectbox, value, text, cl )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
if (cl==1){ optn.className = "nav_option_main"; }
selectbox.options.add(optn);
}
答案 0 :(得分:2)
显示addOption
功能的代码。那里肯定会出现问题,因为以下HTML可以满足您的需求:
<select>
<option>foo</option>
<option> bar</option>
</select>
更新:您设置option
的{{1}}而不是.text
- 这就是空间被转义的原因。试试这个:
innerHTML
在JavaScript中,您可以使用字符串文字转义符( function addOption(selectbox, value, html, cl) {
var optn = document.createElement('option');
optn.innerHTML = html;
optn.value = value;
if (cl) {
optn.className = 'nav_option_main';
};
selectbox.options.add(optn);
};
)来强制字符串字符:\xNN
。但这对你的情况没有帮助。
答案 1 :(得分:2)
简单的解决方案?使用
String.fromCharCode(160) // char code 160 is nbsp
取代
。通过以下方式重复n次:
// n = 3 in this case
Array(3).join(String.fromCharCode(160));
因此...
function addOption(selectbox, val, text, indent){
if (typeof indent == "number" && indent > 0)
var indentStr = Array(indent).join(String.fromCharCode(160));
else
var indentStr = "";
var optn = document.createElement("OPTION");
optn.text = indentStr + txt;
optn.value = value;
selectbox.options.add(optn);
}
addOption(list, "Cars", "Cars", 3);
答案 2 :(得分:1)
您指的是列表框(选择/选项)吗?您不需要
,简单的空格' '
就可以。{/ p>
答案 3 :(得分:0)
使用innerHTML
代替text
来阻止编码......
optn.innerHTML = ' Test';