1

以下は、jqGridを作成するために使用しているコードのスニペットです-

$("#list").jqGrid({
    url:'products.php?storeId=<?php echo $_SESSION["valid_store"]; ?>',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['Product Id','Product Description','Department','Category','Price','Sale Price','Quantity','Extended Description','Image'],
    colModel :[ 
      {name:'ProductId', index:'ProductId', width:20}, 
      {name:'product_name', index:'product_name', width:50, editable:true, edittype:'text', search:true, stype:'text'},
      {name:'DepartmentName', index:'DepartmentName', width:40,sortable: false, editable: true, edittype: "select"},
      {name:'CategoryName', index:'CategoryName', width:40,sortable:false, editable:true, edittype:'select'},

グリッドがロードされたときに、次を使用して「DepartmentName」に動的にデータを入力しています-

var departments = $.ajax({
        url: "get_departments.php?storeId=<?php echo $_SESSION["valid_store"]; ?>",
        async: false,
        success:function(data, result){
            if(!result){
                alert("Failure to retrieve the Departments");
            }
        }

loadComplete:function(){
        $("#list").setColProp('DepartmentName', { editoptions: { value: departments} });
    },

基本的に、私は多数の「Departments」をJSON形式に割り当てています。グリッドが読み込まれると、「DepartmentName」にこれらすべての部門が入力されます。これはすべて正常に機能します。

私がしている/理解するのに苦労していること。これで、これらの値が得られました。これは、から選択した「Department」に応じてSelect、「CategoryName」に、「Department」によって参照される「Categories」のみを入力しています。データ間の関係は、すでに設定されています。MySQL

ありがとう

4

1 に答える 1

0

別のajax関数を使用します。選択リストの値を送信し、その選択された値に関連付けられているSQL値を取得するだけです。次に、それを返し、次のSELECT項目にそれらのオプションのみを表示します。このようなもの:

$.ajax({
   url:blah.html,
   data:{'something':'your select value'},
   success:function(data){$('#yourNextSelectItem').html(data)}
});
于 2012-07-11T16:10:05.110 に答える