Javascript 使用jquery.Inline-edit.js–对文本区域进行内联编辑;获取id并保存

Javascript 使用jquery.Inline-edit.js–对文本区域进行内联编辑;获取id并保存,javascript,jquery,django,Javascript,Jquery,Django,我正在寻找一种在表中实现内联编辑的简单方法(使用Django)。到目前为止,我还没有测试过这样或那样的东西。我已经发现,并非所有简单的解决方案都适合我。和inline-edit.jquery.js仅适用于唯一选择器 对于(jquery.inline edit.js),我没有这些问题,但我不知道如何获取id和保存数据 <div id="remark4" class="editable" data-cid="4">Test #4</div> <div id="remar

我正在寻找一种在表中实现内联编辑的简单方法(使用Django)。到目前为止,我还没有测试过这样或那样的东西。我已经发现,并非所有简单的解决方案都适合我。和inline-edit.jquery.js仅适用于唯一选择器

对于(jquery.inline edit.js),我没有这些问题,但我不知道如何获取id和保存数据

<div id="remark4" class="editable" data-cid="4">Test #4</div>
<div id="remark5" class="editable" data-cid="5">Test #5</div>
<div id="remark6" class="editable" data-cid="6">Test #6</div>

<script src="file:jquery.inline-edit.js"></script>
<script>
    $('.remark').inlineEdit('click', {

        // use textarea instead of input field
        type: 'textarea',
        // attributes for input field or textarea
        attributes: {
            id: $(this).attr("data-cid"),
            class: 'input-class-1 input-class-2 input-class-3',
            style: 'background:#ffe;'
        }
    });
</script>
这是错误消息:
TypeError:$(…)。可编辑不是函数


还有什么问题吗?

如果我可以建议使用另一种方法

$(“[data cid]”)。prop({tabindex:1,contenteditable:true})。on({
聚焦素(){
this.u html=$(this).html();//存储当前html内容
},
focusout(){
常数数据={
cid:this.dataset.cid,
html:this.innerHTML,
};
如果(this.u html===data.html)返回;//没有任何更改。
console.log(data);//如果发生更改,请将数据发送到服务器。
}
})
测试#4
测试#5
测试#6

通过阅读插件文档,我看到了一个OneEdit方法。您可以使用该方法从数据ID设置所需的ID。您的
属性中的
对象实际上是
窗口
,而不是您希望的实际元素。我想问一下,为了理解您正在构建的内容,您在表单中有一个表(或div)?提交时,您希望将编辑的单元格发送到服务器进行存储,对吗?对,这是一个相当大的表(带有div),但它不在表单中。一旦我能得到这个警报,我就知道该怎么办了。我已经有一个下拉列表在表中,这完全节省了变化。你有没有考虑过这个?你真棒!你的代码工作起来很有魅力。在stackoverflow上,这比我想象的要多得多。非常感谢你!这不仅是对我的一个非常具体的支持,也是我进一步编码经验的巨大动力。通过我们的谈话,我学到了很多东西。我花了很多时间检查这些不同的内联编辑方法,但是您的代码要好得多。其他人肯定也会从中受益。
    var option = { trigger: $(".editable"), action: "click" };
    $(".editable").editable(option, function (e) {
        alert(e.value);
    });