Textarea文字不变

时间:2015-04-16 08:26:17

标签: javascript jquery

我的Javascript中有两个函数,第一个从WebApi接收一个JSon接受一个字符串并将其写入textare,而不是我在该textarea中更改某些内容并将其提交回服务器,当我选择另一个对象时从下拉列表中,它应该从Api获得JSon。

以下发生的我觉得非常奇怪,只要我不改变textarea中的任何东西它工作得很好接收我想要的每一个项目。 我在textarea中更改某些内容的那一刻当我在下拉列表中选择另一个项目时它不再改变它,在我在文本区域中编辑某些内容而不保存它并且从下拉列表中选择另一个项目时它也没有改变其他价值观也可以。

$.getJSON(uri + '/' + id).done(function (data) {                        
    $("#tarea").text(atob(data.xmlString));                                               
    document.getElementById("currentTicket").textContent = "Current Ticket: " + data.TicketID;
    document.getElementById("menu1").textContent = data.TicketID;
    document.getElementById("input").value = data.TicketID;
})

3 个答案:

答案 0 :(得分:7)

使用.val()设置文本区域的值,而不是使用.text()

$("#tarea").val(atob(data.xmlString));

由于您使用的是jQuery,因此可以使用jQuery方法设置文本内容和值,如

$.getJSON(uri + '/' + id).done(function (data) {
    $("#tarea").val(atob(data.xmlString));
    $("#currentTicket").text("Current Ticket: " + data.TicketID);
    $("#menu1").text(data.TicketID);
    $("#input").val(data.TicketID);
})

答案 1 :(得分:2)

转换此

$("#tarea").text(atob(data.xmlString))

到这个

$("#tarea").val(atob(data.xmlString))

答案 2 :(得分:2)

对所有输入类型使用.val()

对于span标记

.text()

并且对于所有其他标记使用.html()

所以使用

$("#tarea").val(atob(data.xmlString));