在javascript文本框中打印双引号

时间:2014-04-19 14:26:54

标签: jquery

我在TD元素中有双引号和单引号。点击那个TD我将TD内部的值传递给函数并创建输入元素 对于单引号,它工作正常,但如果是双引号,它会在双引号后删除字符串。

Have a look at this fiddle,我尝试了逃避和unescape但是也没有用,我也试过替换功能。

$(".table td").click(function(){
    var input = createInput($(this).html());
    $(this).html(input);
});

createInput = function(str){
    str = typeof str !== 'undefined' ? str : "";
    input = '<input value="'+str+'">';
    return input;
}

4 个答案:

答案 0 :(得分:1)

$(".table td").click(function() {
    var input = createInput($(this).html());
    $(this).html(input);
});

createInput = function(st){
    st = typeof st !== 'undefined' ? st : "";
    input = $('<input type="text">').val(st);
    return input;
}

答案 1 :(得分:1)

选中此http://jsfiddle.net/F68bm/6/

$(".table td").click(function(){
    var input = createInput($(this).html());
    $(this).html(input);
});

createInput = function(str){
    //alert(str);
    str = typeof str !== 'undefined' ? str : "";
    input = '<input value='+str+'>';
    return input;
}

你的报价是什么问题,正确的是

input = '<input value='+str+'>'

将其视为3部分

1) < input value=,这里是静态部分,在HTML中进行评估

2) +str+这是处理后添加的动态部分。

3) >,这也是静态部分,放在HTML中,

简单:)

答案 2 :(得分:0)

您可以转义引号以阻止它们过早地结束字符串。

/* javascript */

var str = "My string is \"awesome\".";

console.log(str);        //prints: My string is "awesome".

答案 3 :(得分:0)

对于php语言,此 htmlspecialchars 函数可用于在文本框中显示双引号/单引号(“ /')

PHP示例:

<!-- For PHP -->
<input type="text" value="<?=htmlspecialchars('YOUR DOUBLE " /SINGLE ' QUOTES STRING')?>">

对于JS,您可以参考此链接HtmlSpecialChars equivalent in Javascript?