ОК, поэтому я использую плагин под названием «Необычные формы», который предлагает функцию создания повторяемых разделов в форме (что является удивительным, кстати). То, что я пытаюсь сделать, влияет на все разделы полей одинаково. Когда вы делаете раздел повторяемым, он создает идентификатор «name» со следующим примером макета: name = «item_meta [143] [0] [153]» - где [0] - это первый раздел. Затем следующий раздел содержит [1], следующий - [2] и т. Д.Изменение элемента JQuery в разделе повторяющихся форм
Итак, я пытаюсь изменить общее поле для каждого раздела с помощью некоторой пользовательской математики. Я получил его для работы в первом разделе, но для следующих разделов мне нужно найти автоматический путь для следующих секций с помощью селектора [i].
Я попытался сделать это с помощью цикла, но я думаю, что с моей логикой может быть что-то не так. Во всяком случае, вот что я получил
<script type="text/javascript">
jQuery(document).ready(function($){
for (i=0; i < $(".frm_field_153_container input").length; i++){
$('input[name="item_meta[145][i][153]"]').change(function(){
var val1 = $("input[name='item_meta[145][i][153]']").val();
var val2 = $("select[name='item_meta[145][i][144]']").val();
var cost = val2.substring(val2.indexOf("$")+1);
console.log(cost);
if (val1 >=24 && val1 <= 47) {
var newcost = parseFloat(((cost-3) * val1).toFixed(2));
console.log(newcost);
$("[name='item_meta[145][i][154]']").val(newcost);}
if (val1 >=48 && val1 <= 71) {
var newcost = parseFloat(((cost-5) * val1).toFixed(2));
console.log(newcost);
$("[name='item_meta[145][i][154]']").val(newcost);}
if (val1 >=72 && val1 <= 143) {
var newcost = parseFloat(((cost-6) * val1).toFixed(2));
console.log(newcost);
$("[name='item_meta[145][i][154]']").val(newcost);}
if (val1 >=144 && val1 <= 287) {
var newcost = parseFloat(((cost-7) * val1).toFixed(2));
console.log(newcost);
$("[name='item_meta[145][i][154]']").val(newcost);}
if (val1 >=288) {
var newcost = parseFloat(((cost-8) * val1).toFixed(2));
console.log(newcost);
$("[name='item_meta[145][i][154]']").val(newcost);}
});
}
});
</script>
Страница находится в прямом эфире на www.highschoolimpressions.com/order-form/ - (это на странице 2, чтобы идти на дно и нажмите кнопку «Далее», чтобы увидеть это форма часть).
Благодаря
Страница http://www.highschoolimpressions.com/order-form/ больше не доступна. Итак, к сожалению, нет никаких шансов улучшить мой ответ дальше ... :-( – cars10m