繁体   English   中英

javascript中带空格的字符串

[英]String with whitespace in javascript

我有一个字符串“ Magic Word”。 我需要将其用作javascript生成的html复选框中的值。

在JavaScript中

var itemValue= "Magic task";
var opt = "<input type='checkbox' name='test' id='test' value="+ itemValue+ "/>"+itemValue+ "<br />";
alert(opt); 
$(optionDiv).append(opt);

在警报中,它显示的是实际价值,但是在提交表格后,我仅获得第一个单词作为价值。它忽略了第二个单词。

谢谢拉维·康德

您需要用单引号将值引起来:

"<input type='checkbox' name='test' id='test' value='" + itemValue + "' />"

不使用引号时,属性值在空格处结束。 您呈现的字符串显示为

<input type='checkbox' name='test' id='test' value=Magic Word />

所以解析器看到

value=Magic

和没有值的属性Word 您可以在上面的帖子中看到这些颜色。

您需要在值周围添加单引号

var opt = "<input type='checkbox' name='test' id='test' value='" + itemValue + "' />"+ itemValue+ "<br />";
                                                              ^                 ^

这在哪里失败? 如果您的字符串中有一个' 您将需要添加替换方法,并将其替换为@apos;

itemValue = itemValue.replace(/'/g,"@apos;"); 

如果您使用的是jQuery(我在您的代码中看到$的用法),则最好使用jQuery本身:

var itemValue= "Magic Word";
var opt = $('<input>').attr({
    type: 'checkbox',
    name: 'test',
    id: 'test',
    value: itemValue
});

它将防止任何进一步的错误,例如,如果字符串中包含一些'

var itemValue= "Magician's Word";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM