新しく入力した値を保存して、再利用できるようにしたいと思います。ただし、次のことをしようとすると、機能しません。
// 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>