2017-02-27 89 views
0

我正在创建一个使用Jqgrid示例的表,我试图获取所有选中的行的值并将所选值传递给使用ajax的服务器。jqgrid:多选参数不工作

当我单击获取选定按钮时,它目前没有得到选定的值。

这里的链接到我的fiddle

也,是有可能的单选按钮添加到每个行,只有一个单选按钮可以在整个表进行选择。

/***********************/ 
    $("#getSelected").click(function() { 
    var ids = $("#output").jqGrid('getGridParam', 'selarrrow'); 
    if (ids.length > 0) { 
     var names = []; 
     for (var i = 0, il = ids.length; i < il; i++) { 
     var name = $("#output").jqGrid('getCell', ids[i], 'Symbol'); 
     names.push(name); 
     } 
     //alert ("Names: " + names.join(", ") + "; ids: " + ids.join(", ")); 
     $("#names").html(names.join(", ")); 
     $("#dialog-confirm").dialog({ 
     height: 280, 
     modal: true, 
     buttons: { 
      'Cancel': function() { 
      $(this).dialog('close'); 
      }, 
      'Confirm': function() { 
      alert("Confirm"); 
      //alert ("Names: " + names.join(", ") + "; ids: " + ids.join(", ")); 
      /*$.ajax({ 
       type: "POST", 
       url: "/cpsb/unprocessedOrders.do", 
       data: { method: "releaseTowics", 
        orderNum: JSON.stringify(ids), 
        names: JSON.stringify(names) 
       }, 
       dataType: "json" 
       success: function(msg){ 
        alert(msg); 
       }, 
       error: function(res, status, exeption) { 
        alert(res); 
       } 
      });*/ 
      } 
     } 
     }); 
    } 
    }); 
    /***********************/ 

回答

1

看来你使用代码the old demo,这是我对the old answer创建。演示使用jQuery UI对话框。因此,让你演示最小的变化工作,你应该包括jquery-ui.min.js和股利,这将作为jQuery的对话框,例如,

<div style="display:none;" id="dialog-confirm" title="Confirm"> 
    <p>Are you sure want send this names:</p><p><span id="names"></span></p> 
</div> 

修改后的演示https://jsfiddle.net/OlegKi/615qovew/112/作品。如果你喜欢,你可以将jQuery UI替换为Bootstrap对话框。

我替换了免费的jqGrid 4.13.3到当前的免费jqGrid 1.14.0的演示。我添加了autoresizeOnLoad: true选项以及autoResizing的新resetWidthOrg: true属性,以使列的宽度与内容的宽度成比例地调整大小(有关更多详细信息,请参阅the issue)。

+0

非常感谢。是否可以添加单选按钮到现有表的行?但在启用表中只能选择一个单选按钮。这会产生一个问题,我将如何知道单选按钮被选中。可能吗? – user244394

+0

@ user244394:看看[为旧答案](http://www.ok-soft-gmbh.com/jqGrid/SimpleLocalGridWidthRadioButton.htm)为[答案]创建(http://stackoverflow.com/a/7401729/315935)。这是你需要的吗?一个应该使用自定义格式化程序来为单个网格的所有单选按钮设置具有相同'name'属性的单选按钮。 'beforeSelectRow'的可选代码在单击同一行的任何其他列时强制选择单选按钮。 – Oleg

+0

@ Oleg-我想将右侧的单选按钮添加到表https://jsfiddle.net/dev2020/615qovew/113/,并且复选框shoudl也在那里并且可用。我的第二个问题是,如果有复选框,我将如何捕获所选单选按钮的值。 ? – user244394