[英]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.