1. 方法一 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"…
September 4, 2017
jQuery: 只有改变值才能提交 jeditable only submit if changed
原代码:
$(document).on("mouseover","td.editable",editable_input); function editable_input() { var $editable_type = $(this).attr('editable_type'); if($editable_type == 'text' || $editable_type == 'textarea') { $(this).editable(BASEPATH + "/editable", { indicator : '<img src="'+BASEURL+'public/assets/indicator.gif" />', type : $editable_type, submit : "OK", cancel : "Cancel", onblur : "cancel", //ignore cssclass : "editable-table", height : "none", width : "none", submitdata : function(value,setting) { return { select:value }; }, callback : function(value, settings) { console.log(value); console.log(settings); $(this).text(value); }, }); } }
值没有变也会提交一次,有点浪费资源,修改代码,只有值改变的时候才能提交,核心代码是:
"onsubmit": function (settings, original) { if (original.revert.trim() == $('input',this).val().trim()) { original.reset(); return false; } }
完整如下:
$(document).on("mouseover","td.editable",editable_input); function editable_input() { var $editable_type = $(this).attr('editable_type'); if($editable_type == 'text' || $editable_type == 'textarea') { $(this).editable(BASEPATH + "/editable", { indicator : '<img src="'+BASEURL+'public/assets/indicator.gif" />', type : $editable_type, submit : "OK", cancel : "Cancel", onblur : "cancel", //ignore cssclass : "editable-table", height : "none", width : "none", onsubmit : function (settings, original){ if(original.revert.trim()==$('input',this).val().trim()){original.reset();return false;}}, submitdata : function(value,setting) { return { select:value }; }, callback : function(value, settings) { console.log(value); console.log(settings); $(this).text(value); }, }); } }
本文:jQuery: 只有改变值才能提交 jeditable only submit if changed