Javascript 使用jQuery持久化文本框值
我想保存新输入的值,以便重用它们。但是,当我尝试执行以下操作时,它不起作用:Javascript 使用jQuery持久化文本框值,javascript,jquery,jtemplates,Javascript,Jquery,Jtemplates,我想保存新输入的值,以便重用它们。但是,当我尝试执行以下操作时,它不起作用: // el is a textbox on which .change() was triggered $(el).attr("value", $(el).val()); 执行该行时,不会生成任何错误,但Firebug不会显示el的value属性已更改。我也尝试了以下方法,但没有成功: $(el).val($(el).val()); 我尝试这样做的原因是在使用jTemplates将新内容附加到容器时保留文本框中
// el is a textbox on which .change() was triggered
$(el).attr("value", $(el).val());
执行该行时,不会生成任何错误,但Firebug不会显示el的value属性已更改。我也尝试了以下方法,但没有成功:
$(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>
{$T.Value}$
去除
是否要保存上一个值并在下一个更改事件中使用
本例使用.data
保存上一个值
如果需要旧文本框/初始文本框值,可以使用以下单行代码
var当前金额初始值=$(“#表单id”).find(“输入[type='text']id*='current\u amount']).prop(“默认值”)
如果要在文本框中显示当前值,可以使用以下代码
$(“#form_id”).find(“input[type='text']id*='current_amount']).val() 嗯?您试图将输入字段设置为当前值?我修改了帖子,以便更好地解释我在这里要实现的目标。这能说明问题吗?
$("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
});