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 に答える