我正在使用Jeditable来编辑表格行。我的问题是,当我返回页面后提交更改后的值(并将其存储在数据库中)后,它会显示整个页面而不是已编辑的行。它也在桌子外面显示。
-------table--------------
row11 row12
row21 row22
--------------------------
假设我更改了row11
并更新了数据库中的值。现在整个表格显示两次。首先在row11
下,第二次在表外。我无法弄清楚为什么会这样。
以下是我用于发送值的脚本以及其他内容:
<script type="text/javascript">
$(document).ready(function() {
$('.edit').editable('', {
indicator : 'Saving...',
tooltip : 'Click to edit...'
});
$('.edit_area').editable('http://localhost:8080/Interceptors_Struts2_Ant/parameters.action', {
type : 'textarea',
cancel : 'Cancel',
submit : 'OK',
indicator : '<img src="img/indicator.gif">',
submitdata : function() {
var id2 = '${param.city}';
return {city: id2, tableid: $(this).closest('table').attr('id'),
rowid: $(this).parent().index()}},
tooltip : 'Click to edit....',
name : 'newvalue'
});
});
</script>
答案 0 :(得分:0)
这是因为您的submitdata返回值现在显示在已编辑元素所在的位置。 为了避免这种情况,但仍然保持功能,我所做的就是使用回调。
callback: function(value, settings) {
$(this).text(value);
}
将其添加到您的.editable 并让POST操作返回您想要显示的文本。 (值是帖子的返回值)