2011-04-24 109 views
1

我正在使用jqGrid和PHP。jqGrid中的依賴組合框

我在我的jqGrid中有兩個組合框。當我在添加新行時選擇第一個值時,或者在我的jqGrid中使用Form編輯前一個值時,我想更改第二個組合框值。

在jqGrid中可能嗎?請幫助我一個實例。

回答

2

我假設你的兩個組合框使用他們的數據的數據庫。

在第一個組合框的editoptions請使用如下代碼:

editoptions: { 
    value: "1:One;2:Two", 
    dataEvents: [{ 
     type: "change", 
     fn: function(e) { 
      $("#your_grid").setColProp("second_combo", { 
       editoptions: { value: "-1:--Select One--"} 
      }); 
      var v = parseInt($(e.target).val(), 10); 
      $.ajax({ 
      url: "path/to/your/controller/"+v, 
      dataType: "html", 
      success: function(data) { 
       if ($(e.target).is(".FormElement")) { 
       var form = $(e.target).closest("form.FormGrid");              
       $("select#second_combo.FormElement", form[0]).html(data); 
       } 
       else { 
        // inline editing 
        var row = $(e.target).closest("tr.jqgrow"); 
        var rowId = row.attr("id"); 
        $("select#" + rowId + "_second_combo", row[0]).html(data); 
       } 
      } 
     }); 
    } 
    }] 
} 

現在,在您添加編輯將網格的選項使用以下命令:

recreateForm:true 

你的控制器應以下面的語法返回數據:

<option value="val">Display</option> 

儘可能多的你需要。

希望它對您有所幫助。

+0

感謝您的幫助。 – Tareq 2011-04-25 04:49:39

+0

+1用於內聯編輯選項 – Bhushan 2014-04-01 12:54:27