gpt4 book ai didi

jquery - 当自定义格式化程序文本字段值为空时,如何从 jQgrid 中取消选择所选行

转载 作者:行者123 更新时间:2023-12-03 22:00:37 26 4
gpt4 key购买 nike

当我尝试检查 jQgrid 中的复选框时,它选择了很好的值,并且我有自定义格式化程序文本字段,而无需在文本字段中输入值并尝试选择该复选框,我将显示警报之后的消息我将取消选中该复选框,但焦点不会从网格中删除。

我已附上屏幕截图,请告诉我答案。

代码粘贴在此处:

    jQuery("#list1").jqGrid({               

url:actionurl,
mtype: 'POST',
colNames:['PartnerId', 'Employee No','Employee Name' ,'Position', 'Position Id', 'Wages','Relieve Date','Days Required'],
colModel:[
{name:'partnerId',index:'partnerId', width:280,sortable:true,search:false, hidden: true},
{name:'em_ka003_employeeno',index:'em_ka003_employeeno', width:200,sortable:true},
{name:'empname',index:'empname', width:280,sortable:false,search:false},
{name:'position',index:'position', width:250,sortable:false,search:false},
{name:'positionId',index:'positionId', width:0,sortable:false,search:false,hidden:true},
{name:'wages',index:'wages', width:100,sortable:false,search:false},
{name:'emp_relievedate',index:'emp_relievedate', width:200,sortable:false,search:false},
{name:'daysrequired',index:'daysrequired', width:140,sortable:false,search:false,formatter:createText},
],

rowNum:10,
rowList:[5,10,15],
pager: '#pager1',
sortorder: "asc",
sortname: 'em_ka003_employeeno',
viewrecords: true,
rownumbers: true,
loadonce: false,
forceFit: true,
datatype: 'xml',
multiselect: true ,
footerrow:true,
userDataOnFooter:true,
onSelectRow: function(rowId)
{
handleSelectedRow(rowId);
},
caption: "<b>Labor Extension",
gridComplete: function() {

$.unblockUI();
}



});

这是我的自定义格式化程序函数:

function createText(el, cellval, opts)
{
return "<span><input class='dojoValidateValid required TextBox_OneCell_width number' type='text' id='days_req"+cellval.rowId+"' name='days_req"+cellval.rowId+"' onKeyPress='return checkIt(event,false)'/></span>";

}

function handleSelectedRow(id)
{

var jqgcell = jQuery('#list1').getCell(id, 'partnerId');
var daysrequired = jQuery("#days_req"+id+"").val();
var cbIsChecked = (jQuery("#jqg_list1_"+jqgcell).attr('checked'));

if(cbIsChecked==true)
{

/* Append the Days Required */


if(daysrequired=="")
{

alert("please enter the extension days");
jQuery("#days_req"+id+"").focus();
jQuery("#jqg_list1_"+jqgcell).attr('checked', false);
jQuery('#list1').restoreRow(id);

return false;
}



}

In first screen shot if the user if selecting the check box without entering the value in textbox it shows alert.In second screen shot the focus is not get removed.

最佳答案

我得到了答案。

如果当时在 jqgrid 中选择特定行时文本字段值为零,请使用 JavaScript 进行验证并从网格中取消选中所选行。

这是我粘贴在下面的工作代码:

if(daysrequired=="0")
{
myGrid.jqGrid('resetSelection');
}
  • myGrid 是我的网格 ID。
  • resetSelection 是 jQGrid 中取消选择所选行的方法。

关于jquery - 当自定义格式化程序文本字段值为空时,如何从 jQgrid 中取消选择所选行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6693914/

26 4 0
文章推荐: jquery - 将第一个