jqgrid-如何在内联编辑模式下向saveRow的Extraparam添加参数 [英] jqgrid - how to add parameters to extraparam of saveRow in inline editing mode

查看:328
本文介绍了jqgrid-如何在内联编辑模式下向saveRow的Extraparam添加参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串:

var str = "it's a beautiful day";

我正在将此字符串传递给函数:

rowSave(id, str);

rowSave()

var rowSave = function(id, str){
    jQuery("#myjqgrid").jqGrid('saveRow',id,{
        "succesfunc": function(response) {              
            return true;                
        },                                  
        "url": "server.aspx",
        "mtype": "GET",
        "extraparam": {}
    });
}

我想做什么

我想

  • 基于空格分割字符串
  • 字符串中的每个单词(拆分后)都应作为extraparam中的参数传递,以便将其附加到网址之后.

我不知道该怎么做.

按照Oleg的建议(见下文),添加到我的jqgrid定义的ajaxRowOptions: {cache: false}中.

$("#myjqgrid").jqGrid({
   ajaxRowOptions: {cache: false}
});

解决方案

您可以定义类似于以下内容的函数来构建额外的参数对象:

function encodeStr(str){
    var s = str.split(' '), i, result = {};

    for (i = 0; i < s.length; i++){
        result['param' + i] = s[i];
    }

    return (result);
}

jQuery.ajax 由jqGrid内部使用,可以确保正确的序列化.如果遇到问题,请使用 encodeURIComponent 来对每个参数进行编码. >

无论如何,然后在指定参数时调用该对象:

"extraparam": encodeStr(str)

I have a string:

var str = "it's a beautiful day";

I am passing this string to the function:

rowSave(id, str);

rowSave()

var rowSave = function(id, str){
    jQuery("#myjqgrid").jqGrid('saveRow',id,{
        "succesfunc": function(response) {              
            return true;                
        },                                  
        "url": "server.aspx",
        "mtype": "GET",
        "extraparam": {}
    });
}

What I want to do

I want to

  • split the string based on white space
  • every word in the string (after splitting it) should be passed as a parameter in extraparam so that it gets appended to the url.

I don't know how to do this.

As per Oleg's suggestion (see below), added in the ajaxRowOptions: {cache: false} in my jqgrid definition.

$("#myjqgrid").jqGrid({
   ajaxRowOptions: {cache: false}
});

解决方案

You can define a function similar to the following to build up the extra parameter object:

function encodeStr(str){
    var s = str.split(' '), i, result = {};

    for (i = 0; i < s.length; i++){
        result['param' + i] = s[i];
    }

    return (result);
}

jQuery.ajax is used internally by jqGrid and may ensure proper serialization. If you run into problems, use encodeURIComponent to encode each parameter.

Anyway, then just call into this object when you specify your parameters:

"extraparam": encodeStr(str)

这篇关于jqgrid-如何在内联编辑模式下向saveRow的Extraparam添加参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆