内容可编辑 - JQuery 仅将内容保存到网页(以及添加和删除)
contenteditable - JQuery save content just to webpage (as well as adding and removing)
经过深入研究,我能够允许在我的表中编辑和更新一个数据值。但是,当我尝试更改可以编辑内容可编辑的位置时,它会删除我的表格格式(它实际上完全删除了表格格式,使我的想法毫无意义。
这是我当前的代码。
<div class="bs-docs-example">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>IRC Name</th>
<th>Ingame Name</th>
<th>Position</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>[Cr|m|nAl]</td>
<td id="content2" contenteditable="true">Herbalist</td>
<td>Aeterna Top</td>
</tr>
<tr>
<td >2</td>
<td >bandido</td>
<td >Bananni</td>
<td >Aeterna Top</td>
</tr>
<tr>
<td>3</td>
<td>Funkystyle</td>
<td>Funkystyle</td>
<td>Aeterna Top</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<button id="save">Save Changes</button>
<!-- begin the script -->
<script src="js/jquery.js" type="text/javascript"></script>
<script>
var theContent = $('#content2');// set the content
$('#save').on('click', function () { // store the new content in localStorage when the button is clicked
var editedContent = theContent.html();
localStorage.newContent = editedContent;
});
if (localStorage.getItem('newContent')) { // apply the newContent when it is exist ini localStorage
theContent.html(localStorage.getItem('newContent'));
}
</script>
现在,理想情况下,我希望它输出如下屏幕截图;https://i.stack.imgur.com/SOoeI.png"游戏内名称"列可编辑。添加行/删除行,我也想实现,但我不太确定您是否可以使用如此简单的 HTML 表来做到这一点。
我的第一个问题——如何使特定行(即游戏名称)成为唯一可编辑的行?我很糟糕的Javascript/Jquery,不幸的是,我的研究只允许我细化一行。(我知道我可能会复制javascript/jquery,但肯定有更简单的方法吗?
第二个问题——
是否可以实际添加HTML表添加/删除行的功能,而无需某种数据库?
感谢您对此的任何指导。
与其使td
可编辑,不如将div
包装在td
中并使其可编辑,并将固定的width
和height
分配给div。
.clEdit {
width: 200px;
/*Try chaging it as per need*/
overflow: hidden;
/* try scroll with more height */
height: 15px;
/*Try chaging it as per need*/
}
现在有 2 个选项允许隐藏溢出或滚动。您可以检查行为并选择其中之一。作为用户友好的体验,您可以在悬停或单击时将工具提示分配给div,以便每当div 中的值被过度飞行时,用户都可以看到里面的当前值是什么。
$(".clEdit").hover(function(e) {
$(this).prop("title", $(this).html());
});
是的,如果您知道值,则可以在没有 DB 的情况下从表中添加/删除行。 id
可以根据以前的 id 值计算。
从表中添加/删除并不能保证数据库将被更新,您需要处理它。
在添加行时,您还需要为内容可编辑绑定事件。
$("#add").click(function() {
//LOGIC TO ADD ROW TO TABLE
var trRow = "<tr><td>" + ++idFirstCol + "</td><td>" + "SecondColValue" + "</td><td><div class='clEdit'>" + "ThirdColValue" + "</div></td> <td> " + "LastColValue" + " </td></tr>";
$("#ConTable").append(trRow);
$(".clEdit").hover(function(e) {
$(this).prop("title", $(this).html());
});
$(".clEdit").prop('contenteditable', true);
});
你可以在这里参考JSFiddle。 http://jsfiddle.net/8mt6d7bz/
如果这回答了您的问题,则
- 使用Javascript从整个网页中删除具有特定类的所有span标记
- 如何删除在PHP中打印网页时显示的URL
- 如果用户选择离开网页,如何删除记录
- 当用户向下滚动我的网页时,如何删除chrome地址栏周围的边框
- 如何使用javascript从网页中删除HTML元素?(试图制作镀铬扩展)
- 删除不需要的javascript和css是否包括减轻网页加载时间
- 如何向下跳转网页而不删除网站的其余部分
- 如何从网页中删除外来字符
- 内容可编辑 - JQuery 仅将内容保存到网页(以及添加和删除)
- Javascript 函数创建自己的 ,但在此过程中删除网页上的所有其他
- 如何从网页上的 javascript 文件中删除 html 标记
- 如何从我的网页中删除一些 JavaScript
- 加载后删除网页音频
- 从具有chrome扩展名的网页中删除图像
- 从R中的javascript(网页)中删除xls文件
- 使用javascript从网页中删除不需要的html内容
- 如何删除侧边栏以使网页更具响应性
- 从网页中删除.htm的javascript示例
- 如何在没有iframe的情况下从样式和css规则的正常流程中删除网页的一部分?
- 是否有一种方法来捕获创建和删除网页上的元素