2011-04-24 6 views
1

jqGrid 및 PHP를 사용하고 있습니다.종속 jqGrid의 ComboBox

나는 내 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

+0

+1 – Bhushan