0

次のhtmlコードがあります

     <div class="span4 child_age_box">
           <input class="child_age_input" value="2">
     </div>

そして、イベントがトリガーされたときにブロックを複製して追加したいjqueryに従います。

var child_value_input= $('.child_age_input');

var add_box = function (){$('.child_ages').on("change",function(){
    $(this).parent().parent().parent().find('.child_age_box').empty();
   for(var i= 0; i< parseInt($(this).val()); i++){
            $(this).parent().parent().parent().find('.child_age_box').append(child_value_input.clone().show().get(0).outerHTML)
}});

イベントをトリガーすると、問題ないようです。ボックスが表示され、値を入れることができます。しかし、私が尋ねるとき$('.child_age_input')。テキスト ボックスに入力した値が表示されません。足りないものはありますか?

4

2 に答える 2

1

を信頼しないでください。代わりにouterHTMLで実際の値を取得してください。.val()ソース コードで value 属性が 2 の場合、outerHTML を変更しても (少なくとも Chrome では) 2 と表示されます。

var fld = $('.child_age_input');
fld.val('3');
$(document.body).append(fld.clone());

$('.child_age_input').each(function(){
   console.log(this.outerHTML, $(this).val()); 
   // 2x <input class="child_age_input" value="2"> 3 
});

http://jsfiddle.net/HQsrQ/

于 2013-06-17T20:18:01.003 に答える