javascript中带空格的字符串

javascript中带空格的字符串,javascript,html,Javascript,Html,我有一个字符串“神奇的单词”。我需要在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); var item

我有一个字符串“神奇的单词”。我需要在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);
var itemValue=“魔术任务”;
var opt=“”+itemValue+“
”; 警报(opt); $(可选)追加(可选);
在警报中,它显示实际值,但在提交表单后,我只得到第一个单词作为值。它忽略了第二个单词

谢谢
Ravi Kant

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

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

不使用引号时,属性值以空格结尾。渲染的字符串显示为

<input type='checkbox' name='test' id='test' value=Magic Word />
和一个没有值的属性
Word
。你可以在上面的帖子中看到这一点

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

var opt = "<input type='checkbox' name='test' id='test' value='" + itemValue + "' />"+ itemValue+ "<br />";
                                                              ^                 ^
如果您使用jQuery(正如我在代码中看到的
$
用法),最好使用jQuery本身:

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

您还需要创建一个break标记和textNode@epascarello是的,您是对的,但它还有另一个好处,当字符串中有
'
时,它可以防止错误,并且读取代码会更容易。
itemValue=itemValue.replace(/'/g,“@apos;”)
Nipick:输入后的文本应该使用a。
itemValue = itemValue.replace(/'/g,"@apos;"); 
var itemValue= "Magic Word";
var opt = $('<input>').attr({
    type: 'checkbox',
    name: 'test',
    id: 'test',
    value: itemValue
});
var itemValue= "Magician's Word";