[英]Send previous xeditable value to the server
我正在使用https://vitalets.github.io/x-editable/docs.html作為選擇元素。 除了將新值發送到服務器(即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;
},
});
我希望有更好的方法,但是一種選擇是將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)
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.