Javascript 将以前的可执行值发送到服务器
我使用作为选择元素。除了向服务器发送新值(即s、p),我还希望发送以前的值(即b)。下面的脚本最初会这样做,但只会发送原始值(即p),即使它被多次更改,并且新的上一个值不再是pJavascript 将以前的可执行值发送到服务器,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: '
<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)
}
});