最後的標籤數據我有這樣的代碼:獲取有關變化
var i = 0;
$('#jobs').change(function() {
var id = $(this).select2('data')[i].id;
var txt = $(this).select2('data')[i].text;
$('#jobSection').append('<fieldset><legend>' + txt + '</legend><input type="text" class="form-control" name="size_' + id + '" placeholder="Size"><br/><select class="form-control" name="type_' + id + '"><option>Type</option><option value="1">Type 1</option><option value="2">Type 2</option></select></fieldset>');
i++
});
有了,我追加爲每個標籤額外的輸入字段。
但是,它只有在我按順序選擇標籤時才起作用,否則它需要先前的標籤數據。
我知道問題在i
,因爲這不是實際的循環,而是改變事件。
所以我想知道如何才能得到最後的標籤數據的變化?
完整的例子就是here
查看文檔,這應該不會是在'select'? – wmash
我不知道jquery寫你的代碼。但我可以指出這個問題。您的數據$(this).select2('data')由數據填寫。這意味着當你選擇標籤3,4,1時 - 你的數據實際上是1,3,4。此時你的「我」是2(增加0-> 1-> 2,最後是3),而你從數據中獲得了價值4,而你上次點擊了1。所以我不斷增加,但你總是會得到最大的標籤。 UPD:是的,這段代碼需要重新設計。正如GrigTheFirst在他的回答中提到的那樣。 –