我有一个JqGrid表格基于Trirand的简单分组演示。我做了一些更改,以在的组头中获得选择。Jqgrid - 选择组标题与Ajax事件?
我想要做的是...当组头中选择的值发生变化时,通过ajax调用将此新值发送到数据库,并且在下一次JqGrid表加载此值时默认显示select 。 (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功能试过这种
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")
}
}
但似乎我无法获得选择。这条线有什么问题吗? $(this).closest("tr").find("role="option" [value='"+2+"']").attr("selected", "selected")