Сохранение значения текстового поля с использованием jQuery - PullRequest
0 голосов
/ 13 октября 2010

Я хотел бы сохранить вновь введенные значения, чтобы их можно было использовать повторно. Однако, когда я пытаюсь сделать следующее, это не работает:

// el is a textbox on which .change() was triggered
$(el).attr("value", $(el).val()); 

При выполнении строки ошибки не генерируются, однако Firebug не показывает, что атрибут значения el изменился. Я тоже попробовал следующее, но не повезло:

$(el).val($(el).val()); 

Причина, по которой я пытаюсь это сделать, заключается в том, чтобы сохранить значения в текстовых полях при добавлении нового содержимого в контейнер с помощью jTemplates. Старый контент сохраняется в переменной, а затем добавляется в контейнер. Однако все значения, введенные в текстовые поля, теряются

var des_cntr = $("#pnlDesignations");
    old = des_cntr.html();
    des_cntr.setTemplate( $("#tplDesignations").html() );
    des_cntr.processTemplate({ 
                                Code: code, 
                                Value: val,
                                DivisionCode: div,
                                Amount: 0.00
                            });
    des_cntr.prepend(old);

Это шаблон:

<div id="pnlDesignations">
    <script type="text/html" id="tplDesignations">
        <div>
           <label>{$T.Value} $</label>
           <input type="text" value="{$T.Amount}" />
           <button>Remove</button>
           <input type="hidden" name="code" value="{$T.Code}" />
           <input type="hidden" name="div"  value="{$T.DivisionCode}" />
        </div>
    </script>
</div>

Ответы [ 2 ]

1 голос
/ 06 марта 2014

Если вам нужно старое / начальное значение текстового поля, вы можете использовать однострочный код следующим образом.

var current_amount_initial_value = $ ("# form_id"). Find ("input [type = 'text']id * = 'current_amount'] "). prop (" defaultValue ");

Если вам нужно текущее значение в текстовом поле, вы можете использовать следующий код $ (" # form_id "). find (" input[тип = 'текст'] идентификатор * = 'current_amount'] ") Val ();.

1 голос
/ 13 октября 2010

Вы хотите сохранить предыдущее значение и использовать его в следующем событии change?

В этом примере для сохранения предыдущего значения используется .data. См. JsFiddle .

$("input").change(function(){
    var $this = $(this);

    var prev = $this.data("prev"); // first time is undefined

    alert("Prev: " + prev + "\nNow: " + $this.val());

    $this.data("prev", $this.val()); // save current value
});

jQuery. Данные

...