解决需要使用val代替文本。我的错!
将表单字段复制到另一个表单字段与将表单字段复制到span id有什么区别?
我可以从输入字段复制到span id没问题,但使用相同的方法从表单字段复制到另一个表单字段不起作用。
使用Jquery keyup
任何人都可以开导我吗?
继承人 Demo
提前致谢
<input type="text" name="Quantity" value="100" id="quantity2" />
<input type="text" name="Quantity" id="quantity_img2" />
$("#quantity2").keyup(function () {
var value = $(this).val();
$("#quantity_img2").text(value);
}).keyup();
答案 0 :(得分:4)
要设置textbox元素的值,请使用val()
方法而不是text()
。
答案 1 :(得分:2)
$("#quantity_img2").text(value);
应该是
$("#quantity_img2").val(value);
<强> DEMO 强>
由于#quantity_img2
是input field
,form
元素并且将值设置为input
字段需要.val()
方法。
所以你的代码应该是
$("#quantity2").keyup(function () {
var value = $(this).val();
$("#quantity_img2").val(value); // not .text()
}).keyup();
答案 2 :(得分:0)
使用.val()
代替此.text()
$("#quantity2").keyup(function () {
var value = $(this).val();
$("#quantity_img2").val(value);
}).keyup();
答案 3 :(得分:0)
我创建了一个名为val2的Jquery插件,该插件可检测跨度与输入的关系,并确定何时使用$()。text()与$()。val()。在对跨度使用val()之后,想知道为什么只打了一下额头就打破了它,然后说:“当然,假人……它的跨度!”我创建了这个插件:
$.fn.val2 = function (newVal) {
// Jquery Plugin to improve upon $().val() and agnostically handle get/set of values for a span or input (type="text")
// http://learn.jquery.com/plugins/basic-plugin-creation/
// use, get mode: var val = $("#" + id).val2();
// use, set mode: $("#" + id).val2("fred");
if (this !== undefined) {
// newVal indicates set vs get mode
if (newVal === undefined) {
var ret = "";
if (this.attr("value") === undefined && this.prop("value") === undefined)
ret = this.text(); // this is a span
else
ret = this.val(); // this would be an input
return ret;
}
else {
if (this.attr("value") === undefined && this.prop("value") === undefined)
this.text(newVal); // this is a span
else
this.val(newVal); // this would be an input
}
}
};
用法示例:
获取模式:
var txt = $("#MySpan").val2();
var txt = $("#MyInput").val2();
设置模式:
$("#MySpan").val2("fred");
$("#MyInput").val2("fred");