django jeditable 不工作

标签 django jeditable

请我需要你的帮助,我正在尝试使用 jeditable 编辑 {% for in %} 内表格上的字段。

可编辑 DIV:

<td><div class="edit" id="{{ c.id }}">{{ c.name|safe }}</div></td>

可编辑代码:

<script>
    $(document).ready(function(){
      $('.edit').editable('/categoryedit/{{ c.id }}/', {
        style: 'display: inline'    
        });
    });
</script>

网址:

url(r'^categoryedit/(?P<id>\d+)/$', 'pos.views.CategoryEdit'),

查看:

def CategoryEdit(request, category_id):
  id = request.POST.get('category_id', '')
  value = request.POST.get('value', '')

  categoria = Category.objects.get(pk=id)
  categoria.name = value
  categoria.save()

  return HttpResponse(escape(value))

最佳答案

解决方案:问题是可编辑的 DIV 位于 {% for %} block 内,在这种情况下需要在 Javascript 中使用 .each ,如下所示...

$('.edit').each(function(){
                $('.edit').editable('/categoryedit', {

                });
            });

并且没有必要在url(“/category/1”)中传递参数,最好使用...获取参数

c_id = request.POST.get('id')

View 必须是这样的:

def CategoryEdit(request):
if request.is_ajax():
    if request.method == 'POST':
        txt = request.POST.get('value')
        c_id = request.POST.get('id')

        categoria = Category.objects.get(pk=c_id)

        categoria.name = txt

        categoria.save()

        return HttpResponse(txt)

关于django jeditable 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854907/

相关文章:

python - 如何根据屏幕大小更改 django 模板中的列数

python - 在查询字符串评估中使用 Q() 链接重构多个 if 条件 Python/Django

jquery - 可编辑的动态元素

css - Jeditable 按钮样式问题

php - 可编辑占位符问题

Django 没有在正确的目录中寻找模板

python - Django Rest Framework - 序列化后获取模型实例

jquery - Jeditable 和 jQuery UI Datepicker onblur 取消不适用于 showOn 按钮选项

python - 如何在 Django 中更改 JsonResponse 的状态

jquery - CSS/jQuery - 限制所有动态生成的文本框的字符数