Jquery复制表单输入密钥

时间:2012-06-04 16:30:19

标签: jquery forms

解决需要使用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();

4 个答案:

答案 0 :(得分:4)

要设置textbox元素的值,请使用val()方法而不是text()

工作演示http://jsfiddle.net/LnDYA/20/

答案 1 :(得分:2)

$("#quantity_img2").text(value);

应该是

$("#quantity_img2").val(value);

<强> DEMO

为什么会这样?

由于#quantity_img2input fieldform元素并且将值设置为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();

Working fiddle

答案 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");