【问题标题】:Why is jqgrid formatoption "onClick" loading automatically and not when cell is clicked?为什么 jqgrid 格式选项“onClick”会自动加载,而不是在单击单元格时加载?
【发布时间】:2016-10-08 23:13:14
【问题描述】:

为什么 onClick 会被自动调用,而不是当我单击单元格时?我希望能够单击单元格,然后加载页面。代码:

    colNames:['Name','Status', 'Created On', 'Update By', 'Updated On', 'RetentionDays','ValidityTime','Edit'],
    colModel:[
              {  
                  name: 'name', width:100,editable: true, edittype:'select',

                  formatter: "dynamicLink",
                  "formatoptions":{"onClick":$( "#contents" ).load("jsp/consumers.jsp")},

                  xmlmap: function (obj) {
                      return $(obj).attr('name'); 
                  }

              },

编辑:

$(文档).ready(函数() {

calEventTypes(eventTypesUrl);
$("#eventsDiv").click(function(){        
    $('#eventsErrorDiv').css("visibility", "hidden");  
    $('#eventsErrorDiv').css("display", "none");       

});
$("#jqGrid").jqGrid({
    hidegrid: false,            
    datatype: 'xmlstring',
    datastr : xmlData,
    colNames:['Name','Status', 'Created On', 'Update By', 'Updated On', 'RetentionDays','ValidityTime','Edit'],
    colModel:[
              {  
                  name: 'name', width:100,editable: true, edittype:'select',

                  formatter: "showlink", idName: null,
                    onClick: function (options) {
                        alert("It's clicked!\nI'm going to Google...");
                        window.location = "https://www.google.com/";

                  },

                  xmlmap: function (obj) {
                      return $(obj).attr('name'); 
                  }
              },

【问题讨论】:

    标签: javascript jquery hyperlink jqgrid onclick


    【解决方案1】:

    处理程序必须包装在一个函数中:

            "formatoptions":{"onClick": function() {
              $( "#contents" ).load("jsp/consumers.jsp");
            }},
    

    【讨论】:

    • 当我使用格式化程序执行此操作时:“showlink”,然后我的 jsp 链接不会加载,我会被带到“原始 URL + ?id=(rowId)。我希望能够导航到指定的 URL 加载,我怎样才能做到这一点?
    • @BellaWesley 我不知道;我对jqgrid一无所知。
    • @BellaWesley:onClick 的目标只是提供click 回调,这会阻止链接的标准操作(<a> 元素)。您的代码inside of onClick 函数可以访问点击行中的信息,您可以将自定义 URL 分配给 windows.location。如果您想在单击时执行$("#contents").load("jsp/consumers.jsp");,那么答案中的代码将是正确的。我以the demo 为例。
    • @Oleg 演示正是我希望我的 jqgrid 做的。当我在 Pointy 的答案中使用代码时,什么都没有发生。我打开了您提供的示例的页面源代码,并尝试完全按照它的显示方式实现 formatoption 代码(包括 idname null、onclick、alert 和 window.location 到 google)。尽管如此,当我单击单元格中的文本时,我会被重定向到 FROM:localhost:8080/ServiceAdmin TO:localhost:8080/ServiceAdmin/?id=5(例如单击第 5 行时)。我没有从我的代码访问谷歌,也没有收到警报。
    • @Oleg 我将编辑我的问题,向您展示我的更多代码。
    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多