【问题标题】:Clearing bootstrap editable forms清除引导可编辑表单
【发布时间】:2013-08-13 15:36:23
【问题描述】:

我目前正在为我的应用程序的前端使用可编辑的引导程序。

查看插件:http://vitalets.github.io/x-editable/index.html

我正在做的是通过 Ajax 将数据加载到页面上,并允许页面上的每个项目都是可编辑的。例如;我将用户加载到页面上,并允许编辑他的名字、姓氏和出生日期。

因为我是通过 Ajax 加载的,例如,当第二个用户或第三个用户被加载并且我尝试编辑名字等时,我会不断获取最初加载的第一个用户的值。

我假设它可能是缓存。我已经尝试在功能甚至自动文本上设置显示。

我是否可以重置或清除可编辑表单?

参见下面的示例代码:

function editable(obj) {
    $('#title, #lastName, #firstName).editable('option', {
       pk: obj.lId,
       placement: 'bottom',
       emptytext: 'Empty',
       display: function(value) {
         $(this).text(value);
        },
       validate: function(value) {
         if ($.trim(value) === '') {
            return 'This field is required';
         }
      }
    });
}

【问题讨论】:

  • 不同的用户信息显示在同一个公共页面上?
  • 是的。管理员可以搜索用户,并且该信息是通过 ajax 加载的。
  • 您正在展示如何初始化 x-editable 的代码,而不是如何使用 ajax 更新字段。请显示该代码,因为它看起来就是您的错误所在
  • 您确定这不是后端问题。否则,您应该发布您的整个代码让我们调试。可能的问题:您应该使用class 而不是ids

标签: javascript ajax jquery twitter-bootstrap x-editable


【解决方案1】:

假设obj是你的新用户,它包含新用户的头衔、姓氏和名字,你所要做的就是设置x-editable对象的值:

$('#title').editable('setValue', obj.title);
$('#lastName').editable('setValue', obj.lastName);
$('#firstName').editable('setValue', obj.firstName);

您的示例不起作用的原因是 x-editable 将显示与实际值分开。每当用户更改 x 可编辑值时,都会调用您的 display 函数。默认情况下,x-editable 显示设置的任何值。但可能内部值与显示值不同,这就是display函数的作用——它对实际值没有影响,只是显示值。

X-Editable 有很多不同的方法可供您使用,您可以在此处的“方法”选项卡上找到它们:http://vitalets.github.io/x-editable/docs.html#editable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多