我正在嘗試創建一個腳本,允許用戶單擊帶有h1
位文本的div
元素,然後用文本框和圖形替換h1
以在編輯後單擊。一旦圖形被點擊,div
將用新編輯的h1
文本替換文本框和圖形。表單元素不返回新值
這裏的功能是:
function savename() {
var s = $('#mytextbox').val();
$('#mydiv').replaceWith('<div id="mydiv" onclick="editname();"><h1>' + s + '</h1></div>');
}
function editname() {
var strName = $('#mydiv').text();
$('#mydiv').replaceWith($('<div id="mydiv"><input id="mytextbox" name="mytextbox" type="text" value="' + strName + '"><img id="mysavebutton" src="images/save.gif" onclick="savename();"></div>'));
}
這裏是div:
<div id="mydiv" onclick="editname();"><h1>Some text I want to edit</h1></div>
所以,div
點擊功能工作正常。它用文本框替換h1
元素。當我點擊保存圖片時,也可以正常工作,因爲它返回h1
。問題是,文本框的值應該是h1
的文本。那部分不起作用。它仍然保留了舊的價值。我將「s」設置爲.val()
後,即使在編輯後仍然顯示舊值。我覺得我錯過了一些簡單的東西,但是我一整天都在與它鬥爭,並且需要一些新的眼睛來看待它。提前致謝。
似乎爲我工作。 http://jsfiddle.net/cwfhY/2/ –
我應該澄清,與h1裏面的div先出現。您的測試從輸入框開始。然而,當我編輯你的測試時,這並沒有改變任何東西。原來是因爲我把它放在一個表格裏面。一旦我把div放在窗體外面,它就起作用了。 –