jQuery Dynami c Функция замены для выбора - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь создать динамическую 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, возможно, из некоторых дополнительных атрибутов данных в выборочных операциях.

Но как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...