2

我一直试图弄清楚这几个小时无济于事。

我有以下

http://vitalets.github.com/x-editable/docs.html#newrecord

新的记录模块/代码。它的功能是,一旦所有行都有数据并提交,它会保留其值,以便它可以保持可编辑状态。

我尝试添加输入,在 ajax 请求成功时选择清除代码,并尝试将 .editable 函数放入 ajaxComplete 函数中,以查看它是否会在提交时重新加载元素,但没有。看演示。输入数据,然后提交。然后它使数据“永久”,以便它可以继续可编辑。

我删除了隐藏按钮的代码。

我想要它做的是,提交记录并重置,以便我可以提交另一个表单为“空”并返回默认值。

我正在开发一个设备跟踪器,如果技术人员可以一个接一个地输入记录,我会很高兴。我确定它是重置表单的简单修复,我只是无法弄清楚。

我附上了它的截屏视频。

http://www.youtube.com/watch?v=dPDuQCgOOSw

4

2 回答 2

9

由于这是一个流行的问题,我在文档中添加了重置按钮。

$('#reset-btn').click(function() {
    $('.myeditable').editable('setValue', null) //clear values
        .editable('option', 'pk', null)         //clear pk
        .removeClass('editable-unsaved');       //remove bold css

    $('#save-btn').show();
    $('#msg').hide();
});

最好使用.editable('setValue', null)而不是.text('Empty')因为我们还需要重置内部值。
高温高压

于 2012-12-26T15:07:42.237 回答
0

如果您查看“保存新用户button”是如何实现的,它只会选择具有类名的锚标签myeditable

您可以将函数绑定到“重置”按钮或使用此脚本onclick

IF onclick:

jQuery.each($('.myeditable'),function() { 
    $(this).text('Empty') ; //this is your default text
});

OR as a function

function reset_myeditable()
{
    jQuery.each($('.myeditable'),function() { 
        $(this).text('Empty') ; //this is your default text
    });
}

并将其附加到onclick您的按钮的处理程序reset我假设您将放置一个“重置”按钮

编辑

好的放大到你的$('#save-btn').click(function() success handler

    success: function(data, config) {
    if(data && data.id) {  //record created, response like {"id": 2}

    $(this).editable('option', 'pk', data.id);
    //remove unsaved class
    $(this).removeClass('editable-unsaved');
    //show messages
    var msg = 'New user created! Now editables submit individually.';
    $('#msg').addClass('alert-success').removeClass('alert-error').html(msg).show();
    $('#save-btn').hide(); 
    $(this).off('save.newuser'); 

/**this the edited part**/
  jQuery.each($('.myeditable'),function() { 
     $(this).text('Empty') ; //this is your default text
  });
/**end of edit**/      

} else if(data && data.errors){ 
           //server-side validation error, response like {"errors": {"username": "username already exist"} }
           config.error.call(this, data.errors);
       }               
   },
于 2012-12-26T06:51:54.533 回答