不能弹出完整的文字

时间:2011-03-20 18:42:32

标签: javascript javascript-events

var text = $(this).text();
    alert(text);
    Afterdata = "<div><span><input type=text class=inputtext value="+text+">"+
    "</span>" +
    "<span class=save><input type=button value=Save></span>" +
    "<span class=cancel><input type=button value=Cancel></span></div>"
    $(this).parent().html(Afterdata);
    //$(".inputtext").val(text);

这里是我的代码片段,var text是从span中检索的数据,比如text =“你是怎么做的”。基本上我的代码正在做的是,在我点击跨度文本字段后,它会转换为输入文本字段以及如上所示的两个按钮,其中文本字段保持跨越文本(“你如何做”) 。它应该显示一个预先填充“你如何做”的输入框,但它只填充“如何”没有下面的“你做”部分。奇怪的是,警报功能显示“你如何做”成功和评论底线显示“你如何做”。然而,最奇怪的是我的另一个功能就像一个魅力

var text = $(this).text();
$(this).parent().html("<span class=sample>"+text+"</span>" +
            "<span><input type=button value=Delete class=delete></span>");

这是同样的想法。唯一的区别是后一个中的替换部分是span而不是input的值。看到不同?我没有线索。任何帮助?非常感谢你

2 个答案:

答案 0 :(得分:3)

你生成的html是这样的:

<div><span><input type=text class=inputtext value=how you doing></span>...

(其余并不重要)

如您所见,value属性需要引用。此外,您应该考虑文本包含引号的情况,因此需要对其进行转义。

编辑:您可以这样做:

Afterdata = "<div><span><input type=text class=inputtext value=\"" + text.replace(/"/g, '&quot;') + "\">" + "</span>" + "<span class=save><input type=button value=Save></span>" + "<span class=cancel><input type=button value=Cancel></span></div>"

看到它正常工作here

答案 1 :(得分:0)

value属性

中添加引号