2017-02-13 6 views
0

私はを持っています。JqGridテーブルはTrirand's Simple Grouping Demoに基づいています。私はいくつかの変更を加えてをグループヘッダー​​にしました。Jqgrid - ajaxイベントのグループヘッダーを選択しますか?

私がしようとしていることは...グループヘッダーの変更のselectの値がajax呼び出しによってこの新しい値をデータベースに送信し、次回JqGridテーブルがこの値をロードするときにselect 。 (選択の値は表の最後の列にあり、レコードのIDは最初の列にあります)。

私が見つけたものを適合させようとしていますhereそれは私の質問に似ていますが、私がやりたいことではうまくいかないようです(Here is what I tried - JsFiddle)。

function Test() { 
      $("table tbody").on('change', 'select', function (e) { 
       var currentSelect = $(this); 
       var grid = $('#lstSegPyme'); 
       var id = $(e.target).closest('tr')[0].id; 
       var Codunicocli = grid.jqGrid('getCell', id, 'ccli');     
       if (currentSelect.is(".HEstado")) { 
        alert(id); 
       } 
      });  
     } 

UPDATE 私は、Ajaxのイベントを呼び出す方法を考え出しました。私はチェックボックスの実装を誤解しているようです。今私はこのようなものを持っていて、それは動作します!!!

loadComplete: function() { 
$("table tbody").on('change', 'select', function(e) { 
    var currentSelect = $(this); 
    var SelectValue = currentSelect.val(); 

    if (currentSelect.is(".HEstado")) { 
    var id = $(this).closest('tr').nextUntil('tr.lstSegPymeghead_0').attr('id'); //Get Row Id 
    var cco = $('#lstSegPyme').jqGrid('getCell', id, 'ccli'); 

    alert(cco); //ajax Code Here 
    } 
}); 

私は今苦労してるだけの事はある...ページをリロードし、選択

に値を設定しようとしたとき、私は

gridComplete: function() { 
        var i, group, cssClass, 
         headerIdPrefix = this.id + "ghead_", 
         groups = $(this).jqGrid("getGridParam", "groupingView").groups, 
         l = groups.length; 

        for (i = 0; i < 1/*l*/; i++) { 
         group = groups[i]; 

         $(this).closest("tr").find("role="option" [value='"+2+"']").attr("selected", "selected") 

        } 
       } 
gridComplete機能でこれを試してみました

しかし、私は選択を得ることができなかったようです。この行に何か問題がありますか? $(this).closest("tr").find("role="option" [value='"+2+"']").attr("selected", "selected")

答えて

0

Jqgridの他のものを探していたら、私の質問の解決策が見つかりました。私は多くの助けを借りたユーザー@Olegのこのanswerを見つけました。

似たようなことをしたい場合は、例hereを残します。

$("table tbody").on('change', 'select', function (e) { 
    var currentSelect = $(this); 
    var SelectValue = currentSelect.val(); 

if (currentSelect.is(".HEstado")) { 
    var id = $(this).closest('tr').nextUntil('tr.lstSegPymeghead_0').next("tr").attr('id'); //Get Row Id 
    var Codunicocli = $('#lstSegPyme').jqGrid('getCell', id, 'ccli'); 
    var idEstado = $('#lstSegPyme').jqGrid('getCell', id, 'estc'); //Estado guardado en BD 

    alert(idEstado); 

} //End If 
}); 
関連する問題