0

我正在尝试获取一系列输入并使用带有文本列表的按钮替换它们。我意识到它可以通过使用 ID 轻松实现,但我必须考虑它可以扩展的事实(意味着可以是 1 或可以是 5)。我开始使用 .each 循环来迭代输入并获取它们的值,但是我怎样才能迭代文本值并将它们放入正确的输入中呢?

这是我卡住的地方:

jQuery('.copy-btn').on("click", function (e) {
var selector = "[class^=span]";
var $this = jQuery(this);
var $pristine = jQuery(".field-item");
var $first = $this.closest(selector).prev(selector);
var $second = $this.closest(selector).next(selector);

if ($first.find("div").hasClass("field-name-field-mg-features-list")) {
    var one = $first.find(".form-type-textfield input.text-full").each(function () {
        var $this = jQuery(this);
    });
    var two = $second.find(".field-item").each(function () {
        var $this = jQuery(this);
    });
    var $input = $this.find(".form-type-textfield input.text-full");
    var $text = $this.find(".field-item");
} else {
    $first.find("input").val($second.find($pristine).text());
}
e.preventDefault(e);

});

我也不认为这是实现我想要的行为的最佳实践,有人能指出我正确的方向吗?

http://jsfiddle.net/nmfurr/nA37d/250/

4

1 回答 1

0

如果它们对应于 dom 上的索引位置,我认为你可以这样做

jQuery('.copy-btn').on("click", function (e) {
   var count = $("field-name-field-mg-features-list").size();
   var fields = $("form-type-textfield input.text-full");
   var text = $("field-item")
   var x = 0;
   for (x=0;x++;x<count){
       fields[x].val(text[x].text())
   }
   e.preventDefault(e);

});
于 2013-09-13T14:14:01.980 回答