jQuery TextArea Bug?

时间:2016-11-07 11:41:34

标签: jquery textarea

我有一个带按钮的简单textarea:

我用

更改textarea的内容
$("button.test").click(function(){
   $("#config_oh").contentEditable = true;
$("#config_oh").html("Hello World);

});

这很有效。但是如果我在textarea中输入并重新运行脚本,它就不起作用:内容在那里(我可以通过Chrome检查器看到它)但网页上没有显示任何内容。为什么呢?

如果我使用textarea更新val()的内容,则可以使用,但不会执行HTML呈现,例如我看到html特殊字符。

3 个答案:

答案 0 :(得分:0)

替换

$("#config_oh").html("Hello World);

$("#config_oh").val("Hello World");

答案 1 :(得分:0)

就个人而言,我建议根据评论的建议制作一个具有conteneditable = true的客户div。通过这种方式,.html()方法可以正常工作。

<style>
        .editable {
            width: 100%;
            height: 200px;
            border: 1px solid #ccc;
            padding: 5px;
            resize: both;
            overflow: auto;
        }

        </style>
<button class="test">Click</button>
<div class="editable" contenteditable="true" id="config_oh"> MY TEXT HERE </div>

<script>
$("button.test").click(function(){   
   $("#config_oh").html("Hello World);
});
</script>

通过这种方式,即使在“textarea”内部输入后,按钮点击也会按预期工作。

答案 2 :(得分:0)

您必须在输入类型框中设置文本。你使用val()。 输入类型具有属性。 例如:

$("#config_oh").val("Hello World");

应该这样做