2014-09-11 97 views
0

我有一個小問題,從一個下拉jQuery克隆和.change。jQuery克隆和.change下拉

會發生什麼事情,我需要用下拉列表中的數字更新div,並且一切正常,當我克隆下拉列表時,問題就出現了,此後克隆的項目不會使用所選值更新數字,並且第一個將全部更新。

<button type="button" id="addmore" >Add More</button> 
<br> 

<div class="dynamic-content1"> 
    <select name="list" class="list" id="name"> 
     <option value="25">Ticket 1</option> 
     <option value="50">Ticket 2</option> 
     <option value="70">Ticket 3</option> 
    </select> 
    <div class="tag">25</div> 
</div> 

和jQuery:

var count = 0; 
$('#addmore').click(function(){ 

    var $clone = $('.dynamic-content1:eq(0)').clone(); 
    $clone.find('[id]').each(function(){this.id+=''}); 
    $clone.attr('id', "added"+(++count)); 
    $('.dynamic-content1:eq(0)').after($clone); 

}); 


$('#name').change(function(event) { 
    $('.tag').html($('#name').val()); 
}); 

工作小提琴:

http://jsfiddle.net/QuadDamage/ej0t9c0e/

我相信我應該運行的每個語句,但說實話,我沒有看到如何做到這一點。

在此先感謝

回答

0

請將您的代碼替換爲下圖。

$('#name').change(function(event) { 
    $('.tag').html($('#name').val()); 
}); 

添加該代碼,請

$(document).on('change', '.list', function() { 
    $(this).parent().next().html($(this).val()); 
}); 
+0

工作良好,您是否在意詳細說明爲什麼分離的$(文檔)在做什麼代碼?謝謝 – nunorbatista 2014-09-11 13:19:07

+0

你的代碼很好,直到我把它包裝在一個div中,現在又被打破了。這是與.next相關的東西我相信 - > http://jsfiddle.net/QuadDamage/p843nc9j/ – nunorbatista 2014-09-12 14:52:23

+0

我用'$(this).parent()。next()。html($(this))替換了代碼。 val());' – Bira 2014-09-13 03:05:27

0

jQuery的不守的選擇,同時使元素的克隆。你可以試試這個

.clone(true) 

這將複製所有平均值和下拉數據。我希望這會幫助你使用事件。