динамически распределить значения в 3 тега

0

Сейчас у меня проблема программирования. То, что я пытаюсь сделать, - это динамически распределить значение на 3 входных тега. поэтому основная идея состоит в том, что сумма этих трех входов не должна превышать заданное значение.

поэтому мой код похож на этот

<!doctype html>
<html>
<head>
    <script type="text/javascript" src="../../jQuery/jquery-1.11.0.min.js"></script>
    <script type="text/javascript">
    var 
        total = parseInt($('#quantityRequired').text()),
        inputs = $('input[type="number"]');

        inputs
            .attr('max', total)
            .change(function() {

        //Make sure that current value is in range
        if($(this).val() > parseInt($(this).attr('max'))) {
            $(this).val($(this).attr('max'));
        } else if ($(this).val() < parseInt($(this).attr('min'))) {
            $(this).val($(this).attr('min'));
        }

        //Get currently available total
        var current = available();

        //Now update max on each input
        $('input').each(function(indx) {
            $(this).attr('max',  parseInt($(this).val()) + total - current);
        }); 
    });

    function available() {
        var sum = 0;
        inputs.each(function() {
            sum += parseInt($(this).val());
        });
        return sum;
    }
    </script>
</head>

<body>
<?php 
$projectName    = strval($_GET['project']); 
$thicknessValue = intval($_GET['thicknessValue']);
$baseplateValue = strval($_GET['baseplateValue']);

$query = "SELECT QTY_REQUIRED, QTY_CUT FROM COMPONENT
                WHERE THICKNESS = :thicknessVal 
                AND PROJECT_NAME = :projectName
                AND BASE_PLATE = :baseplateVal
                AND REQUEST_STATUS = 'OPEN'";

$result = oci_parse($conn, $query);

oci_bind_by_name($result, ":projectName", $projectName);
oci_bind_by_name($result, ":thicknessVal", $thicknessValue);
oci_bind_by_name($result, ":baseplateVal", $baseplateValue);

oci_execute($result);
?>

<?php
while ($row = oci_fetch_array($result, OCI_BOTH)){

$qtyAvailable = $row['QTY_REQUIRED'] - $row['QTY_CUT'];   
       echo '<span id="quantityRequired">'.$qtyAvailable.'</span>';

       echo '<input id="cncQty"    name="cncQty"    type="number" min="0" value="0"   placeholder="CNC" required>';         
       echo '<input id="scatorQty" name="scatorQty" type="number" min="0" value="0" placeholder="SCATOR" required>';       
       echo '<input id="manualQty" name="manualQty" type="number" min="0" value="0" placeholder="MANUAL" required>';
       echo '<br/>';      
}
?>
</body>
</html>

Таким образом, весь этот код будет отображаться в разделе div другого html файла. Проблема с моим кодом заключается в том, что jquery не работает, когда он отображается в div. Я попробовал это в jsfilddle, и код jquery работает хорошо.

и jsfiddle находится здесь: http://jsfiddle.net/k2QVV/

но когда я применяю его в PHP-коде. он не работает. что я делаю неправильно здесь?

  • 1
    Это расширение файла .php или .html? Сервер не будет выполнять код по умолчанию, содержащийся в файле .html.
  • 0
    все в php ..
Теги:

1 ответ

1
Лучший ответ

Ваш код работает до отображения страницы, поэтому такие вещи, как:

inputs = $('input[type="number"]');

Не найдешь ничего.

Чтобы исправить это, заверните весь свой javascript, отличный от available функции в готовом jQuery:

$( document ).ready(function() {
   ...
});
  • 0
    Хорошо, я попытался обернуть это, но кажется, что jquery все еще не работает.
  • 0
    Есть ошибки в консоли?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню