如何在 HTML 选择选项列表中保留空间<option value='hi this'>hi</option>

Posted

技术标签:

【中文标题】如何在 HTML 选择选项列表中保留空间<option value=\'hi this\'>hi</option>【英文标题】:how to preserve space in HTML select option list<option value='hi this'>hi</option> [duplicate]如何在 HTML 选择选项列表中保留空间<option value='hi this'>hi</option> 【发布时间】:2016-07-07 19:24:12 【问题描述】:

我有一个选择控件。我尝试使用 jquery 更新此控件,但省略空格后的值。

if (brandObj != "") 
    brandObj = eval("(" + brandObj + ")"); 
    $.each(brandObj, function(i, item) 
        $("#<%=listBrand.ClientID%>").append(  "<option value="+ item.Brand + ">" + item.Brand + "</option>");
    );


我从服务器获取的数据

但是在它呈现为 html select 之后,它会省略 space.whole 之后的单词,但是一旦我得到 value ,它就只有一半(双引号中的值)。我尝试添加&amp;nbsp;,但它按原样显示。它没有渲染为空间。请给出你的建议。

【问题讨论】:

.append("&lt;option value='" + item.Brand + "'&gt;" ... 注意单引号 eval()?严重地?我不认为你真的想要那个,我很确定你不需要它。 brandObj 可以有什么价值? 你没有回答我的问题。 brandObj 有什么价值? brandObj 有我从服务器获取的 json 字符串。 嗯,对于 IE7,正确的做法是将 json2.js 包含在条件 cmets 中并调用 JSON.parse()。 IE8 及更高版本原生支持 JSON,不需要额外的 libaray。换句话说,除非您的目标是 IE7,否则您可以直接使用JSON.parse()。见***.com/questions/3326893/…。 【参考方案1】:

感谢:Milind Anantwar,我采纳了他的想法并解决了一个困扰了大约 5 天的问题。

    <?php
    foreach($rows as $row):
        $outputstr="$row[Mfrname]";
        $goodstr="<option value='".$outputstr."''>".$outputstr."</option>";
        echo $goodstr;
    endforeach;
    ?>

【讨论】:

【参考方案2】:

正如我在comment 中提到的,可以通过将value 属性值包含在引号中来解决该问题。

.append("<option value='" + item.Brand + "'>" ... 
                       ^                  ^

但是,我建议使用Option 构造函数来动态创建新的&lt;option&gt; 元素。

演示:

var arr = [
    text: 'Hello World!',
    value: 'hello World'
, 
    text: 'Bye World!',
    value: 'bye World'
];

var select = document.getElementById('mySelect');

// Iterate over array
arr.forEach(function (obj, i) 
    // Create new <option> with dynamic value and text
    // Add the <option> to the <select>
    select.appendChild(new Option(obj.text, obj.value));
);
&lt;select id="mySelect"&gt;&lt;/select&gt;

【讨论】:

寻找这个小时和小时,感谢 Tushar,对我来说,当您需要下拉菜单中的“myvalue 123”之类的值时,其他解决方案不起作用,而当您需要该值时,您会得到“myvalue”。 【参考方案3】:

您应该将属性值的值包含在引号(Quote It)中。如果您不将它们包装在引号中,则空格后的值将被视为属性本身:

$("#<%=listBrand.ClientID%>").append("<option value='"+ item.Brand + "'>" + item.Brand + "</option>");

【讨论】:

以上是关于如何在 HTML 选择选项列表中保留空间<option value='hi this'>hi</option>的主要内容,如果未能解决你的问题,请参考以下文章

Spring-Boot Config:如何在用于填充 Map<String, String> 的 yaml 键中保留空格

如何在 textarea 表单帖子中保留空格和格式? [复制]

通过 ruamel.yaml 转储时如何在 yaml 文件中保留空值

在 TXMLDocument 中保留空格时出现 Delphi 异常

使用 BeautifulSoup 写入文件时在 Django 模板中保留空格

如何在 TabView SwiftUI 中保存视图的列表状态