我写了一个脚本,为我的SQL数据库和我的网站创建一个新元素。 如果帖子好,我会收回帖子的ID,所以我可以制作像其他DIV一样的DIV盒子。
问题是,我可以内联编辑所有DIV中的文本,但不能编辑创建的文本。
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var moveit = $("<img>").attr({src: "icons/arrow_switch.png", class: "handle", alt: "move"});
var editarea = $("<div>Ide írjon szöveget</div>").attr({class: "edit_area", id: ajaxRequest.responseText});
$("<li></li>").attr({id: "listItem_"+ajaxRequest.responseText}).append(moveit).append(editarea).appendTo('#test-list');
}
示例:原始DIV之一
<li id="listItem_84"><img alt="move" class="handle" src="icons/arrow_switch.png"><div id="84" class="edit_area">Ide írjon szöveget...</div></li>
JS创建了DIV
<li id="listItem_88"><img src="icons/arrow_switch.png" class="handle" alt="move"><div class="edit_area" id="88">Ide írjon szöveget</div></li>
所以我真的不知道为什么我不能编辑新的线路?!请给我一个解决方案。
感谢您的帮助&lt; 3
答案 0 :(得分:1)
您只调用了调用时所在元素的可编辑状态,您可以将它作为ajax函数的一部分安装到新元素中:
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var moveit = $("<img>").attr({src: "icons/arrow_switch.png", class: "handle", alt: "move"});
var editarea = $("<div>Ide írjon szöveget</div>")
.attr({class: "edit_area", id: ajaxRequest.responseText})
.editable(...same options here...);
$("<li></li>").attr({id: "listItem_"+ajaxRequest.responseText})
.append(moveit).append(editarea).appendTo('#test-list');
}
}
只需为加载页面时使用的.editable()
调用选择相同的选项。