【问题标题】:How to include a space in an option value如何在选项值中包含空格
【发布时间】:2012-09-09 19:40:13
【问题描述】:

我正在使用 XML 和 javascript 构建零件编号交叉引用工具。 (非常)少数零件号包含空格。我正在根据正在工作的 XML 数据构建下拉列表,但包含空格的部件号除外。这些零件号的选项值在空格字符的位置被截断,然后查找交叉引用就会混淆。我已经尝试将 XML 文件中的空格替换为 - 但我的 XML 编辑器(XML Spy)不允许这样做。我试过使用 %20,有趣的是交叉引用(“正则表达式”比较)正在工作,但是在下拉列表和显示的结果中,部件号看起来很糟糕(它们包括“%20”) .

有什么想法吗?提前致谢!

【问题讨论】:

  • 欢迎使用 stackoverflow。仅通过一个模糊的示例,我们只能猜测问题可能是什么。请提供一些代码让我们的生活更轻松:)
  • 好的 - 更多信息。这里的一位同事建议将零件编号放在引号中(在 XML 文件中)。这也适用于比较(类似于 %20),但引号也显示在下拉列表文本和结果中。这比在显示的零件编号中嵌入 %20 要干净得多,但我仍然希望这里有人知道如何更干净地做到这一点。谢谢!
  • 请向我们展示您的 xml、标记、代码。那只是更多含糊不清的词;)
  • 第二个下拉列表(“CLippard”)是带有空格的列表。

标签: javascript xml dom


【解决方案1】:

好的,我知道发布我的代码会很有帮助(我可能最终会这样做) - 但我一直在使用它并找到了解决方案。我最近读到,用这样的内联 JS 构建列表是一种糟糕的做法:

    <select id="dropdown-smcNums" onChange="">
       <script language="javascript">       
         for (var j=0;j<smcNums.length;j++){
             document.write("<option value="+smcNums[j].lastChild.nodeValue+">"+smcNums[j].lastChild.nodeValue+"</option>");
         }
        </script>
     </select>

所以我花了一些时间将列表的构建移动到我的 .JS 文件中,如下所示:

    function loadSelect(){
      for (var i=0;i<smcNums.length;i++){
        var opt = document.createElement("option");
        opt.text = smcNums[i].lastChild.nodeValue;
        opt.value = smcNums[i].lastChild.nodeValue;
        document.getElementById("dropdown-smcNums").options.add(opt);
      }
    }

只有:

    <select id="dropdown-smcNums" onChange=""></select>

在我的 html 文件中。

空格字符的问题消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 2021-09-29
    • 1970-01-01
    相关资源
    最近更新 更多