jQuery不会更新textarea

时间:2015-06-19 19:25:20

标签: javascript jquery

我在index.html中定义了一个HTML textarea,定义如下:

<textarea id="myTextArea" rows="12" readonly="7" class="form-control"></textarea>

我有一个名为shared.js的JavaScript文件。目前,shared.js只有以下内容:

function appendToTextArea(id, text, stayOnCurrentLine) {
    var current = $(id).val();

    var newText = current + ' ' + text;
    if (!stayOnCurrentLine) {
        newStatus += '\n';          
    }
    $(id).val(newText);

    console.log($(id).val());   
}

Index.html成功引用shared.js。它甚至可以调用appendToTextArea。我正在调用index.html中一个名为myButtonClick的函数的代码。

function myButtonClick() {
    appendToTextArea('#myTextArea', 'Hello', false);
    appendToTextArea('#myTextArea', 'How', false);
    appendToTextArea('#myTextArea', 'are', false);
    appendToTextArea('#myTextArea', 'you', false);
}

调用上述内容时,myTextArea的文本永远不会更新。但是,在控制台中,我看到没有错误。另外,我可以看到文本到底是怎样的。我做错了什么?

1 个答案:

答案 0 :(得分:1)

newStatus定义为空字符串,并将其与输出字符串连接:

function appendToTextArea(id, text, stayOnCurrentLine) {
    var current = $(id).val();
    var newStatus = "";
    var newText = current + ' ' + text;
    if (!stayOnCurrentLine) {
        newStatus += '\n';
    }
    $(id).val(newText + newStatus);

    console.log($(id).val());
}

-jsFiddle-