在datagrid 返回的 input中 将修改的值失去焦点就调用修改方法保存到后台 该怎么做?


$(function(){

/* 构建表格 */

$('#dg').datagrid({

    queryParams: {

    },

    fit : true,  // 适应父容器

    method : 'post',

    url : contextPath + '/webapp/routeBaseParameter/getRouteBaseParameterList',

    toolbar : '#tb',

    onLoadError: function(){

      alertMsg('数据加载失败!','error');

    },

    columns : [ [

           {

      field : 'id',

      title : 'id',

      width : 200 ,

      hidden : true,

      align : "center" 

    },{

      field : 'parametersValues',

      title : '参数值',

      width : 200 ,

      formatter:function(value){

         return '<input type="text" class="cc" value="'+value+'">';

       },

      align : "center" ,

    }, {

      field : 'parametersName',

      title : '参数名称',

      width : 200,

      align : "center",

    }, {

      field : 'parametersDescribe',

      title : '参数描述',

      width : 200,

      align : "center"

    },

    ] ],

  });

});

定义一个鼠标失去焦点事件,异步调用后台接口

试过了 触发不了这个事件

你是不是写的位置不对

我写在了 datagrid 表格里面

表格是渲染数据的

你要定义在$('#dg').datagrid({})方法外

写在$('#dg').datagrid({})方法外 的话我不知道怎么获取 input 的改变事件 获取不到他的鼠标失去焦点事件

不是有标签id吗

我用过了 因为是查询出来的表格会有多条数据 所以不能用 id 标签


  formatter:function(value){

        return '<input type="text" class="cc" value="'+value+'">';

      },

类似这种,格式化,动态设置,比如:id="ids_"+value.id

$(function(){
	$('#dg').on("change", 'input[type="text"]', function(event){
		//提交方法
	});
});



用过了 还是触发不了 。。。




前端有缓存的,你清了吗

我刷新了页面


无痕模式


控制台没打印


查询源文件,有你新增的内容吗

有的


晕死了

。。。

	$(document).on("change", '#dg input[type="text"]', function(event){
		console.log(87857);
	});


edatagrid提供了onSave事件。 当保存一行时触发。
			$('#dg').edatagrid({
				。。。。。。。。
				。。。。。。。。
				onSave:function () {
					console.log(6656);
				}
			});