最后的标签数据我有这样的代码:获取有关变化
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在他的回答中提到的那样。 –