У меня есть динамическое действие с выбором типа селектора Jquery.В разделе «Динамические действия» ниже приведен код для получения значения идентификаторов данных из 3 различных регионов.
var total = 0;
var tot_cal = 0;
var tot_carbo = 0;
var tot_protein = 0;
var tot_fat = 0;
var elements = document.getElementsByClassName('chk');
for (var i=0; i<elements.length; i++) {
$checkBox = $(elements[i]);
if ($checkBox.is(':checked')) {
var id = $checkBox.attr("id");
var l = document.getElementById("listid" + id);
var qty = l[l.selectedIndex].value; //$list.value;
var price = $('#'+id).attr("data-price");
total += (parseInt(qty) * parseInt(price));
// you can use the below values to check the totals are wokring
console.log('qty '+qty);
console.log('price ' + price);
console.log('total',total);
// Set Calories
var cal = $('#'+id).attr("data-cal");
tot_cal += parseInt(cal);
// console.log ('cal' + cal);
// console.log ('tot_cal' + tot_cal);
var carbo = $('#'+id).attr("data-carbo");
tot_carbo +=parseInt(carbo);
var fat = $('#'+id).attr("data-fat");
tot_fat +=parseInt(fat);
apex.item( "P21_FAT" ).setValue(tot_fat);
var protein = $('#'+id).attr("data-protein");
tot_protein += parseInt(protein);
}
}
apex.item( "P21_TOTAL" ).setValue(total);
apex.item( "P21_CALORIES" ).setValue(tot_cal);
apex.item( "P21_CARBOHYDRATE" ).setValue(tot_carbo);
apex.item( "P21_FAT" ).setValue(tot_fat);
apex.item( "P21_PROTEIN" ).setValue(tot_protein);
Я выбираю значения данных из 3 различных регионов, в качестве которых PLSQL Dynamic Contents имеет одинаковые имена идентификаторов данных во всехрегионы.Проблема в том, что когда я запускаю страницу и регион отображается, значения данных повторяются от первого региона до остальных двух регионов.Если в первом регионе дата-цена равна 2, то в третьем регионе она будет одинаковой.Так как я могу передать разные идентификаторы регионов одному селектору jquery, чтобы передать DA только текущую область, чтобы получить конкретные значения текущей фокусированной области, или, если есть какой-либо другой лучший способ справиться с этим, тогда поделитесь.