我有一个X-editable正在从data-pk属性中设置字段的元素。
<button class='edit' data-pk='field|value'>My Button</button>
我正在动态更新此按钮,另一个下拉列表。因此,data-pk会更新到我从下拉列表中选择的任何字段。
DOM按预期更新。
但是,当X-editable触发请求时,它是旧的第一个启动的data-pk值。 在发送到服务器之前,如何让它读取当前值?
X-editable代码是......
$('.edit').editable({
url:'user/edit',
// Need something here to retrieve the real current value of data-pk.
// not initiated value
success:function(response,value){
// Do success stuff.
}
});
我试过......
$('.edit').editable({
url:'user/edit',
pk:$(this).attr('data-pk'),
success:function(response,value){
}
});
但那不起作用,也试过......
$('.edit').editable({
url:'user/edit',
params:function(params){
var data={};
// Need to get this instance, and fetch the current data-pk
// So I can set it in this data, but I have no idea how to get it.
// params.pk just gives me the old value. I need to get the new value
return data;
},
success:function(response,value){
// Do success stuff.
}
});
答案 0 :(得分:2)
就我而言
<span class="editable" data-type="text" data-pk="100" data-value="Value" data-language-option="turkish">Value</span>
$('.editable').editable({
params: function(params) {
params.en = 'en';
params.LanguageOption = $(this).data("language-option");
return params;
},
success: function (response, newValue) {
if(response != "OK")
alert(response);
}
});
答案 1 :(得分:1)
经过一段时间的游戏,这是解决方案。
$('.edit').editable({
url:'user/edit',
params:function(params){
params.pk = $(this).attr('data-pk');
return params;
},
success:function(response,value){
// Do success stuff.
}
});