最近やったプロジェクトは、ページのダイナミックな操作が特に多く、2つのTableの前にプロジェクトが交互に移動して削除する操作が必要で、以下はJqueryがTableを操作するいくつかの方法と属性について簡単な総括をした.
function addCustomer(url) {
if (!packageFlag) {
alert(' ... ');
return;
}
var trCount = 0;
var addTable = $(document.getElementById("addTable")).find("tr:eq(0)");
$(document.getElementById("outPackageList").contentWindow.document.getElementById("outPackageCustomerId")).find("tr:gt(0)").each(function(index, item){
if($(item).find("[name=outCheckbox]")[0].checked){
var pk = $(item).find("[name=outCheckbox]").val();
var isSelected = false;
$("#innerPackageCustomer tr:gt(0)").each(function(index2, item2){
var pk2 = $(item2).find("[name=outCheckbox]").val();
if (pk == pk2){
isSelected = true;
return false;
}
});
var initFirstTr = $("#innerPackageCustomer").find("tr:eq("+trCount+")");
if(!isSelected){
$(initFirstTr).after(
"<tr onMouseOver=\"this.bgColor=\'#eef0fe'\" onMouseOut=\"this.bgColor='#FFFFFF'\">"+
$(item).html()+
"</tr>"
);
$(item).remove();
$(initFirstTr).next("tr").find("td:eq(2)").html(' ');
trCount++;
//
$("#innerPackageCustomer").find("tr:eq("+trCount+")").find("[name=outCheckbox]")[0].checked=false;
}
/** */
$(addTable).after(
"<tr><td>"+
+pk+
"</td></tr>"
);
/** */
var asset = $.trim($(item).find("td:eq(10)").text());
var fare = $.trim($(item).find("td:eq(11)").text());
var tempAsset = $.trim($("[name=packageInfo.tempAsset]").val());
var tempFare = $.trim($("[name=packageInfo.tempFare]").val());
var assetVal = 0;
var fareVal = 0;
var tempAssetVal = 0;
var tempFareVal = 0;
if(isNotEmpty(asset) && asset!='0.00') {
assetVal = asset;
}if(isNotEmpty(fare) && fare!='0.00'){
fareVal= fare;
}if(isNotEmpty(tempAsset) && tempAsset!='0.00' && tempAsset!='0'){
tempAssetVal= tempAsset;
}if(isNotEmpty(tempFare) && tempFare!='0.00' && tempFare!='0'){
tempFareVal= tempFare;
}
sumAsset=accAdd(tempAssetVal,assetVal);
sumFare=accAdd(tempFareVal,fareVal);
/** */
$("[name=packageInfo.tempAsset]").val(parseFloat(sumAsset,2).toFixed(2));
$("[name=packageInfo.tempFare]").val(parseFloat(sumFare,2).toFixed(2));
}
});
}