使用jQuery保存文本框的值
问题描述:
我想保存新输入的值,以便可以重复使用它们。但是,当我尝试做以下,这是行不通的:使用jQuery保存文本框的值
// el is a textbox on which .change() was triggered
$(el).attr("value", $(el).val());
当行执行,也不会产生错误,但萤火虫不表明值属性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>
答
要保存以前的值,并在接下来的change
事件中使用?
本示例使用.data
来保存以前的值。 See on 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
});
答
如果你想老/初始文本框中的值,可以按如下方式使用单行代码。 (“#form_id”)。find(“input [type ='text'] id * ='current_amount']”)。prop(“defaultValue”);
如果你想在文本框中输入电流值,可以使用下面的代码 $( “#form_id”)。找到( “输入[类型= '文本'] ID * = 'current_amount']”)。VAL ();
咦?您正试图将输入字段设置为其当前值? – 2010-10-12 22:16:26
我修改了帖子,以更好地解释我在这里尝试完成的内容。这种说法是否能够澄清? – alkos333 2010-10-13 02:16:10