这里需要一点点javascript帮助(简单)

时间:2010-05-17 18:17:23

标签: javascript html

  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);
}

4 个答案:

答案 0 :(得分:2)

显示addOption功能的代码。那里肯定会出现问题,因为以下HTML可以满足您的需求:

<select>
 <option>foo</option>
 <option>&nbsp;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

取代&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)

您指的是列表框(选择/选项)吗?您不需要&nbsp;,简单的空格' '就可以。{/ p>

答案 3 :(得分:0)

使用innerHTML代替text来阻止编码......

optn.innerHTML = '&nbsp;&nbsp;&nbsp;Test';