Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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-如何在内联编辑模式下向存储行的extraparam添加参数_Javascript_Jquery_Jqgrid - Fatal编程技术网

Javascript jqgrid-如何在内联编辑模式下向存储行的extraparam添加参数

Javascript jqgrid-如何在内联编辑模式下向存储行的extraparam添加参数,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我有一个字符串: var str = "it's a beautiful day"; 我正在将此字符串传递给函数: rowSave(id, str); rowSave() 我想做什么 我想 根据空白分割字符串 字符串中的每个单词(拆分后)都应作为extraparam中的参数传递,以便将其附加到url 我不知道怎么做 根据Oleg的建议(见下文),在我的jqgrid定义的ajaxRowOptions:{cache:false}中添加了 您可以定义类似于以下的函数来构建额外的参数对象: fu

我有一个字符串:

var str = "it's a beautiful day";
我正在将此字符串传递给函数:

rowSave(id, str);
rowSave()

我想做什么

我想

  • 根据空白分割字符串
  • 字符串中的每个单词(拆分后)都应作为
    extraparam
    中的参数传递,以便将其附加到url
我不知道怎么做

根据Oleg的建议(见下文),在我的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);
}

代码可以是关于以下内容的:

var rowSave=函数(id,str){
var strParts=str.split(“”),l=strParts.length,i,obj={},
codeStart='A'.charCodeAt(0);//65
对于(i=0;i

首先,
obj
将被填充为
{A:“it's”,B:“A”,C:“beauty”,D:“day”}
,然后它将被用作
extraparam

的值
extraparam
的格式与
postData
的格式相同:您可以将该值作为具有如下属性的对象{property1:'value1',property2:'value2'}。因此,您不仅应该在问题中定义值(“字符串中的每个单词”),而且还应该定义属性的名称。此外,您还写道,这些值应该“附加到url”。仅当您使用HTTP GET时,这些值才会附加到URL,而对于HTTP POST(例如,默认情况下)则不会。此外,您还使用了
“URL”:server.aspx
这是一个语法错误。
server.aspx
应该被引用,而
url
是否被引用并不重要。因此,您应该使用
url:'server.aspx'
url:'server.aspx'
“url:“server.aspx”
,而不是
“url”:server.aspx
@Oleg:我知道
extraparam
的格式,我正在使用
GET
。我不知道在拆分字符串后如何分配值和不同的属性名。是否有方法编写函数并循环它们,然后分配它们。我尝试过这样做,但不起作用。是的,可以这样做,但是whi更改所需属性的名称。我的意思是,服务器部件需要知道完全相同的名称转换才能读取此名称。名称包括
p1
p2
p3
,…确定吗?可以使用一个参数,而只发送字符串。可以使用已知参数名称拆分一个参数在服务器上要容易得多。不是吗?参数名可以是“A”、“B”、“C”…实际上需要在客户端完成。因此,它的格式应该是--
“A:“it's”,“B:“A”,“C:“Beauty”,“D:“day”
非常好。!这正是我想要的。非常感谢:)感谢您的时间和回复。@SK11:不客气!因为您使用
mtype:“GET”
在IE中缓存Ajax请求时可能会遇到问题。所以我建议您使用
ajaxRowOptions:{cache:false}
jqGrid的参数。谢谢。我添加了该参数并更新了我的帖子。
$("#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);
}
"extraparam": encodeStr(str)