0

已解决需要使用 val 而不是文本。我的错!

将表单域复制到另一个表单域与将表单域复制到跨度 ID 有什么区别?

我可以从输入字段复制到跨度 id 没问题,但是使用相同的方法从表单字段复制到另一个表单字段不起作用。

使用 Jquery 键位

任何人都可以启发我吗?

这是一个演示

提前致谢

    <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

4 回答 4

4

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

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

于 2012-06-04T16:31:39.427 回答
3
$("#quantity_img2").text(value);

应该

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

演示

为什么会发生这种情况

因为#quantity_img2是一个input field,一个form元素,并且为input字段设置值需要.val()方法。

所以你的代码应该看起来像

$("#quantity2").keyup(function () {
  var value = $(this).val();
  $("#quantity_img2").val(value); // not .text()
}).keyup();
于 2012-06-04T16:31:37.500 回答
0

.val()代替.text()这样使用

$("#quantity2").keyup(function () {
      var value = $(this).val();
      $("#quantity_img2").val(value);
    }).keyup();

工作小提琴

于 2012-06-04T16:33:15.010 回答
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");
于 2019-03-28T22:04:42.340 回答