Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jqgrid进行内联编辑。我卡住了_Javascript_Jquery_Ajax_Javascript Events_Jqgrid - Fatal编程技术网

Javascript 使用jqgrid进行内联编辑。我卡住了

Javascript 使用jqgrid进行内联编辑。我卡住了,javascript,jquery,ajax,javascript-events,jqgrid,Javascript,Jquery,Ajax,Javascript Events,Jqgrid,这是我的表格: $("#list2").jqGrid({ url:baseURL + 'contactManager/contactActivity/getActivity/' + contactsID + '/1', datatype: "json", colNames:['Type','Scheduled', 'Created', 'Comp','Description','Assigned To'], colModel:[ {nam

这是我的表格:

$("#list2").jqGrid({ 
    url:baseURL + 'contactManager/contactActivity/getActivity/' + contactsID + '/1', 
    datatype: "json", 
    colNames:['Type','Scheduled', 'Created', 'Comp','Description','Assigned To'], 
    colModel:[ 
        {name:'type',index:'type', width:55}, 
        {name:'scheduledDate',index:'scheduledDate', width:90}, 
        {name:'createdDate',index:'createdDate', width:100},
        {name:'completed',index:'completed', width:80, align:"center", sortable:true, formatter: "checkbox", formatoptions: {disabled : false}, editable: true, edittype:"checkbox"},
        {name:'description',index:'description', width:80,align:"right"}, 
        {name:'assignedID',index:'assignedID', width:150, sortable:false} 
    ], 
    rowNum:10, 
    rowList:[10,20,30],
    pager: '#pager2', 
    sortname: 'type', 
    viewrecords: true, 
    sortorder: "desc", 
    caption:"Completed" }); 
我有一个索引名已完成的复选框。我试图在编辑此输入时运行ajax调用。当我点击这个复选框时,我无法触发任何东西,甚至连警报都没有。我已经尝试过在这一页的例子,但没有工作。有人能帮我为复选框创建一个简单的事件处理程序吗?

这个怎么样

$("#list2").jqGrid({ 
    url:baseURL + 'contactManager/contactActivity/getActivity/' + contactsID + '/1', 
    datatype: "json", 
    colNames:['Type','Scheduled', 'Created', 'Comp','Description','Assigned To'], 
    colModel:[ 
        {name:'type',index:'type', width:55}, 
        {name:'scheduledDate',index:'scheduledDate', width:90}, 
        {name:'createdDate',index:'createdDate', width:100},
        {name:'completed',index:'completed', width:80, align:"center", sortable:true, formatter: "checkbox", formatoptions: {disabled : false}, editable: true, edittype:"checkbox"},
        {name:'description',index:'description', width:80,align:"right"}, 
        {name:'assignedID',index:'assignedID', width:150, sortable:false} 
    ], 
    rowNum:10, 
    rowList:[10,20,30],
    pager: '#pager2', 
    sortname: 'type', 
    viewrecords: true, 
    sortorder: "desc", 
    caption:"Completed"
})
.find('input[name=completed]').bind('onchange', function() {alert('clicked')});
这个怎么样

$("#list2").jqGrid({ 
    url:baseURL + 'contactManager/contactActivity/getActivity/' + contactsID + '/1', 
    datatype: "json", 
    colNames:['Type','Scheduled', 'Created', 'Comp','Description','Assigned To'], 
    colModel:[ 
        {name:'type',index:'type', width:55}, 
        {name:'scheduledDate',index:'scheduledDate', width:90}, 
        {name:'createdDate',index:'createdDate', width:100},
        {name:'completed',index:'completed', width:80, align:"center", sortable:true, formatter: "checkbox", formatoptions: {disabled : false}, editable: true, edittype:"checkbox"},
        {name:'description',index:'description', width:80,align:"right"}, 
        {name:'assignedID',index:'assignedID', width:150, sortable:false} 
    ], 
    rowNum:10, 
    rowList:[10,20,30],
    pager: '#pager2', 
    sortname: 'type', 
    viewrecords: true, 
    sortorder: "desc", 
    caption:"Completed"
})
.find('input[name=completed]').bind('onchange', function() {alert('clicked')});

可以使用自定义格式设置程序将函数绑定到复选框。下面是我的项目中的一些片段,在单击复选框时,我使用此方法向数据库发送ajax调用

复选框列定义:

{ name: 'CoreClient', index: 'CoreClient', editable: true, align: 'center', edittype: 'checkbox', formatter: checkboxFormatter, editoptions: { value: "Y:N" }, formatoptions: { disabled: false }, sortable: true}
自定义格式化程序功能:

//checkboxFormatter to wire onclick event of checkbox 
  function checkboxFormatter(cval, opts, rowObj) { 
      cval = cval + ""; cval = cval.toLowerCase(); 
      var bchk = cval.search(/(false|0|no|off|n)/i) < 0 ? "checked=\"checked\"" : ""; 
      return "<input type='checkbox' onclick=\"ajaxSaveParent('" + opts.rowId + "', this);\" " + bchk + " value='" + cval + "' offval='no' />"; 
  }

可以使用自定义格式设置程序将函数绑定到复选框。下面是我的项目中的一些片段,在单击复选框时,我使用此方法向数据库发送ajax调用

复选框列定义:

{ name: 'CoreClient', index: 'CoreClient', editable: true, align: 'center', edittype: 'checkbox', formatter: checkboxFormatter, editoptions: { value: "Y:N" }, formatoptions: { disabled: false }, sortable: true}
自定义格式化程序功能:

//checkboxFormatter to wire onclick event of checkbox 
  function checkboxFormatter(cval, opts, rowObj) { 
      cval = cval + ""; cval = cval.toLowerCase(); 
      var bchk = cval.search(/(false|0|no|off|n)/i) < 0 ? "checked=\"checked\"" : ""; 
      return "<input type='checkbox' onclick=\"ajaxSaveParent('" + opts.rowId + "', this);\" " + bchk + " value='" + cval + "' offval='no' />"; 
  }

创建自定义格式化程序

“将类添加到yout”复选框

将文档上的更改事件绑定到类

    jQuery(document).on("change", ".YourCheckBoxClass", function () {
    DoSomeThing(this);
});
在您的fomatter中,您可以添加Id、colName等属性,并可以将其退役到DoSomeThing中

更改{name:'completed',index:'completed',width:80,align:center,sortable:true,formatter:checkbox,formattoptions:{disabled:false} 到

函数Mycheckboxcellvalue、选项、行对象{
返回'创建自定义格式化程序

“将类添加到yout”复选框

将文档上的更改事件绑定到类

    jQuery(document).on("change", ".YourCheckBoxClass", function () {
    DoSomeThing(this);
});
在您的fomatter中,您可以添加Id、colName等属性,并可以将其退役到DoSomeThing中

更改{name:'completed',index:'completed',width:80,align:center,sortable:true,formatter:checkbox,formattoptions:{disabled:false} 到

函数Mycheckboxcellvalue、选项、行对象{
return'看文档..它很时髦。我想我可以试着用jquery查找输入,就像你现在做的那样。我会给你这个,因为它对我来说是一个有效的解决方案,即使它实际上不是文档中他们做的那样。我检查了它,我没有看到任何可以直接绑定的东西对复选框元素。似乎有单元格和行选择的事件等等,但是…看这家伙是怎么做的。这似乎对我不起作用:你的意思是当你选择一行时,你不能用onsetrow触发事件吗?这似乎是与复选框不同的问题。如果是,这可能值得一个新问题。如果不,我会尽我所能提供帮助!看看文档..它很时髦。我想我可以试着用jquery查找输入,就像你现在做的那样。我会给你这个,因为它对我来说是一个有效的解决方案,即使它不是文档中他们做的那样。我确实检查了它,但我没有看到任何东西at将直接绑定到复选框元素。似乎有单元格和行选择的事件,尽管如此……看这家伙是怎么做的……这似乎对我不起作用:你的意思是当你选择一行时,你不能让事件在屏幕上触发吗?这似乎是与复选框不同的问题。如果是这样,那可能是wo这是一个新问题。如果不是,我会尽我所能帮助你!