Я пытаюсь создать динамическую c функцию в jQuery, которая обрабатывает событие onchange для выбора (выпадающий список) и обновляет другие текстовые поля с некоторыми вычисленными значениями. Но у меня возникли некоторые проблемы.
Мой выбор такой
<select name="r514b" id="r514b" size="1" class="listform" style="width: 155px;"> <option value="0">Vælg overfladebehandling</option> <?php while($farverow = mysql_fetch_array($farvequery, MYSQL_ASSOC)) { if ($res['r514b'] == $farverow['id']) {
$r514bselected = "selected";
} else {
$r514bselected = "";
}?> <option value="<?php echo $farverow['id']; ?>" <?php echo $r514bselected; ?> data-nypris="<?php echo $farverow['pris']; ?>" data-grundpris="<?php echo $farvegrundrow['pris']; ?>" data-sumvaegt="<?php echo $res['r477']; ?>" data-db="<?php echo $res['r502']; ?>"><?php echo $farverow['navn']; ?></option> <?php } ?> </select>
, а jQuery такой:
$('#r514b').change(function(){
var ny_pris = $(this).find(':selected').data('nypris');
var grundpris = $(this).find(':selected').data('grundpris');
var sumVaegt = $(this).find(':selected').data('sumvaegt');
var db = $(this).find(':selected').data('db')
var overflade_forskel = ny_pris - grundpris;
// alert(ny_pris);
// alert(grundpris);
// alert(sumVaegt); // * overflade_forskel);
var pris_forskel = (sumVaegt * overflade_forskel)/(1-(ds.r502.value/100));
// alert(pris_forskel);
ds.id514d.value = Math.round(pris_forskel);
ds.r514d.value = Math.round(pris_forskel);
});
Причина, по которой я хочу чтобы сделать его динамичным, мне нужно иметь несколько вариантов выбора, что в основном делает то же самое. Разница лишь в том, какие текстовые поля они обновляют. Так что я надеялся, что я каким-то образом заставлю функцию перехватывать динамические селекторы c и обновлять динамические поля c, возможно, из некоторых дополнительных атрибутов данных в выборочных операциях.
Но как мне это сделать?