【问题标题】:jqgrid : multiselect vales not workingjqgrid:多选值不起作用
【发布时间】:2017-02-27 22:26:40
【问题描述】:

我正在使用 Jqgrid 示例创建一个表,我正在尝试获取所有选中行的值并使用 ajax 将选定的值传递给服务器。

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

这里是我的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);
                }
            });*/
          }
        }
      });
    }
  });
  /***********************/

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    您似乎使用了来自the old demo 的代码,这是我为the old answer 创建的。该演示使用 jQuery UI 对话框。因此,为了让您以最小的更改进行演示,您应该包括jquery-ui.min.js 和 div,例如,它将用作 jQuery Dialog,

    <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)。

    【讨论】:

    • 非常感谢。是否可以在现有表的行中添加单选按钮?但在整个表格中只能选择一个单选按钮。这就产生了一个问题,然后我怎么知道选择了哪个单选按钮。有可能吗?
    • @user244394:查看为the answer 创建的the old demo。这是你需要的吗?应该只使用自定义格式化程序为一个网格的所有单选按钮设置具有相同 name 属性的单选按钮。 beforeSelectRow 的可选代码在单击同一行的任何其他列时强制选择单选按钮。
    • @Oleg- 我想将右侧的单选按钮添加到表jsfiddle.net/dev2020/615qovew/113 中,并且复选框也应该在那里并且可用。我的第二个问题是,当有复选框时,我将如何捕获所选单选按钮的值。 ?
    • @user244394:我不明白“捕获所选单选按钮的值”。您想为每个单选按钮分配value 属性吗?我不确定你在哪里看到任何问题。演示,我之前发给你的链接,在行中找到单选按钮。您可以使用jQuery.val 来获取值。无论如何,讨论与当前的问题相去甚远。最好发布带有确切描述的新问题,在其中看到在 jqGrid 的某些列中添加单选按钮的任何实现问题。
    • Oleg - 谢谢,我会为单选按钮单独发布一个
    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多