2012-09-01 54 views
0

我一直在研究一個涉及ajax的項目;它是學校作業的計劃者。當按下按鈕時,它應該根據從服務器獲得的數據更改31 <textarea>(和一個<span>)中的文本。事情是,textareas在上次窗口刷新後發生了改變,不會改變。我查看了服務器和網頁之間發送的JSON,並得出結論,該錯誤在ajax調用的成功函數中。代碼如下:jQuery不會替換一些文字

success: function(data) {     
    $("span#date").text(data['date']); 
    $("#assignments").find("textarea").each(function() { 
     $(this).text(""); 
     $(this).html(data[$(this).attr("id")]); 
    }); 
    console.log(data); // I was using this to see if the data received from the server was correct 
    } 

非常感謝您的幫助。

+0

'data'中的'id's與'textarea'中的'id's是否同步? –

+0

適合我:http://jsfiddle.net/tLsHq/1/。 – pimvdb

+0

是的。如果我刷新頁面,一切正常。但是,每次在textarea中輸入內容以確保其正常工作時,刷新頁面並不實際;這是我首先使用AJAX的原因。 – dbh937

回答

1

您應該使用.val()作爲textarea,因爲它基本上是一個輸入。

你真的不能在它裏面有html元素。

+0

我以前有'.val()',同樣的事情發生了。我嘗試了'.text()'和'.val()'和'.html()'來查看是否發生了不同的事情,但每次都發生同樣的事情。不過謝謝,我會再次嘗試'.val()'。 – dbh937

+1

'.html'在textarea上工作,雖然它不太合適。 – pimvdb

0

嘗試$(textarea).val()而不是.html()。我注意到html只在第一次渲染textarea時才起作用。

+0

謝謝!這結束了工作。我想知道爲什麼.val()在我最後一次嘗試時沒有工作......猜猜我改了一些其他代碼。再次感謝! – dbh937