Javascript 将以前的可执行值发送到服务器

Javascript 将以前的可执行值发送到服务器,javascript,jquery,x-editable,Javascript,Jquery,X Editable,我使用作为选择元素。除了向服务器发送新值(即s、p),我还希望发送以前的值(即b)。下面的脚本最初会这样做,但只会发送原始值(即p),即使它被多次更改,并且新的上一个值不再是p <a href="javascript:void(0)" class="doc-type" data-value="b"></a> $('.doc-type').editable({ type: 'select', placement: 'right', title: '

我使用作为选择元素。除了向服务器发送新值(即s、p),我还希望发送以前的值(即b)。下面的脚本最初会这样做,但只会发送原始值(即p),即使它被多次更改,并且新的上一个值不再是p

<a href="javascript:void(0)" class="doc-type" data-value="b"></a>

$('.doc-type').editable({
    type: 'select',
    placement: 'right',
    title: 'Document Type',
    source: [{value:'b',text:'Buy'},{value:'s',text:'Sell'},{value:'p',text:'Project'}],
    //params: {task:'saveDocType',controller:'portal',cid:ayb.component.id,CSRF:ayb.CSRF,doc_id:function(){console.log(this);}},
    params: function(params) {
        //originally params contain pk, name and value
        delete(params.name);
        params.task = 'saveDocType';
        params.controller = 'portal';
        params.cid = ayb.component.id;
        params.CSRF = ayb.CSRF;
        params.doc_id=$(this).parent().parent().data('id');
        params.v_old=$(this).data('value');
        return params;
    },
    url: 'index.php',
    pk: function(){return $('#id').val();},
    error: function (response, newValue) {
        //Unlike other validation, save function to return non 200 header.
        return response.responseText;
    },
});

$('.doc type')。可编辑({
键入:“选择”,
位置:'对',
标题:“文档类型”,
来源:[{value:'b',text:'Buy'},{value:'s',text:'Sell'},{value:'p',text:'Project'}],
//参数:{task:'saveDocType',controller:'portal',cid:ayb.component.id,CSRF:ayb.CSRF,doc_id:function(){console.log(this);},
params:函数(params){
//最初参数包含主键、名称和值
删除(参数名称);
params.task='saveDocType';
params.controller='portal';
params.cid=ayb.component.id;
params.CSRF=ayb.CSRF;
params.doc_id=$(this.parent().parent().data('id');
params.v_old=$(this.data('value');
返回参数;
},
url:'index.php',
pk:function(){return$('#id').val()},
错误:函数(响应,newValue){
//与其他验证不同,保存函数以返回非200标头。
返回response.responseText;
},
});

我希望有更好的方法,但有一个选择是在成功回调中保存newValue

$('.doc-type').editable({
    type: 'select',
    source: [{value:'b',text:'Buy'},{value:'s',text:'Sell'},{value:'p',text:'Project'}],
    params: function(params) {
        //originally params contain pk, name and value
        params.v_old=$(this).data('value');
        return params;
    },
    url: 'index.php',
    pk: function(){return $('#id').val();},
    success: function(response, newValue) {
        $(this).data('value',newValue)
    }
});