1

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

见插件: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';
         }
      }
    });
}
4

1 回答 1

2

假设这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

于 2013-08-13T15:54:33.563 回答