Изменить значение полей формы с помощью jQuery onBlur - PullRequest
0 голосов
/ 11 марта 2011

Я ищу написать функцию jQuery, которая будет изменять значение других полей ввода, когда происходит событие onBlur.В приведенном ниже коде я пытаюсь прочитать значение поля ввода, которое было изменено, и использовать его значение для манипулирования значением других полей ввода.В конце концов, это будет использоваться в качестве утилиты преобразования.Я чувствую, что я довольно близко, кто-то может помочь?

Спасибо!

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js">
<script type="text/javascript">

$('#a').bind('blur', function() {
    var a = $('#a').val();

    var b = a*1;
    var c = a*1;

    $('#b').val(b);
    $('#c').val(c);

});

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

    $('#a').val(b);
    $('#c').val(c);
});

$('#c').bind('blur', function() {
    var c = $('#c').val();

    var a = c*3;
    var b = c*3;

    $('#a').val(a);
    $('#b').val(b);

});
</script>
<div style="width:500px">
    <table width="500">
        <tr>
            <td><input type="text" id="a" value="1"/></td>
            <td><input type="text" id="b" value="1"/></td>
            <td><input type="text" id="c" value="1"/></td>
        </tr>
    </table>
</div>

Ответы [ 4 ]

0 голосов
/ 11 марта 2011

Вам не хватает тега </script> после загрузки jquery.

0 голосов
/ 11 марта 2011

Возможно, вы захотите запустить весь javascript после правильной загрузки html:

$(function() {
  $('#a').bind(...
  ...
  });
});

В чем конкретно проблема? Кажется, что-то работает (не проверял вычисления) ... реализация с jsfiddle

0 голосов
/ 11 марта 2011

Изменение

$('#a').val(b);

до

$('#a').val(a);

во второй привязке.

0 голосов
/ 11 марта 2011

я нашел вашу ошибку:

изменить это:

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

    $('#a').val(b);
    $('#c').val(c);
});

к этому:

$('#b').bind('blur', function() {
    var b = $('#b').val();

    var a = b*2;
    var c = b*2;

    $('#a').val(a);
    $('#c').val(c);
});

вы случайно дали $('#a').val = b, когда нет б

см. Ответ полностью работает здесь: http://jsfiddle.net/Ru6FV/

...