siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的。
closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。
//删除行
function deleteTableRowFunction(){
var obj = $('[name="deleteProdTableId"]:checked');
if(parseInt($(obj).length) == 0){
alertE("<%=alert_selectDeleteData %>");
}else if(confirm("<%=alert_confirmDelete %>")){
$(obj).each(function(index){
var dbOperationTypeId = $(this).siblings("[name^=dbOperationTypeId_]").val();// 数据库操作类型
if(dbOperationTypeId == <%= TriangleDefinition.DATABASE_TABLE_DATA_OPERATION_UPDATE %>){
// 将需要物理删除的采购单ID放入数组.
if($("#deleteProdTableIds").val() == ""){
$("#deleteProdTableIds").val($(this).val());
}else{
$("#deleteProdTableIds").val($("#deleteProdTableIds").val()+"_"+$(this).val());
}
}
$(this).closest("tr").remove();
});
}
}
delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数。
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
$("#inspectMaterialTrailerBodyRight tr td").delegate("input[type='text'][id^='noOkQty_']","change",function() {
var startIndex = $(this).attr("id").indexOf("_");
var index = $(this).attr("id").substring(startIndex + 1);
//暂收数量
var inventQty = $("#inventQty_"+index).text();
//不合格数量
var noOkQty = $("#noOkQty_"+index).val();
//合格数量
var okQty = $("#okQty_"+index).val();
//折补数量
var freePayQty = $("#freePayQty_"+index).val();
//若折补数量 + 不合格数量 < 暂收数量成立, 则合格数量 = 暂收数量 - 折补数量 - 不合格数量;
var adjustQty = noOkQty * 1 + freePayQty * 1;
if(inventQty * 1 < adjustQty * 1) {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.notOkQtyNotGreaterReceiveQty";
showMessageFunc(key);
noOkQty = inventQty * 1 - (okQty * 1 + freePayQty * 1);
$("#noOkQty_"+index).val(noOkQty.toFixed(4));
} else {
//合格数量 = 暂收数量 - 不合格数量
if(adjustQty * 1 >= 0) {
var okQty = inventQty * 1 - adjustQty * 1;
$("#okQty_"+index).val(okQty.toFixed(4));
$("#okQtySpan_"+index).text(okQty.toFixed(4));
}
}
//不合格数量不允许为空
if(noOkQty == "") {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.notEmptyNoOkQty";
showMessageFunc(key);
}
});
本文介绍使用jQuery实现表格行的删除功能,并通过事件委托处理输入框变化事件,实现不合格数量变化时对合格数量的自动调整。涉及jQuery的选择器、事件处理及数值计算。
3442

被折叠的 条评论
为什么被折叠?



