2017-02-27 62 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