我正在尝试仅创建2个简单的框,并允许用户从1个框中选择数据,然后将其复制到第二个框。如果第二个框上已有相同的内容,请在后面附加一些简单的文本。
当该项目不在第二个框中时,它基本上可以工作。但是,在这种情况下,我无法将数据追加到文本中。
这是一个简单的例子。
https://jsfiddle.net/9mbgw20e/5/
<div id="inventory">
<div class='item'>
<span>Apple</span>
</div>
<div class='item'>
<span>Pear</span>
</div>
</div>
<hr>
<div id="selected">
</div>
// bring the items from inventory to selected
// if selected is found, add some text to the back of it
$('.item').on('click', function() {
var h = $(this)[0].outerHTML;
var found = false;
var foundId = '';
if ($('#selected').children().length < 1) {
// if there's nothing selected, just straight add this
return $('#selected').prepend(h);
}
$('#selected').children().each(function() {
if ($(this).find('span').text() == $(h).find('span').text()) { // if there is already one in selected div
console.log('Found duplicated.');
found = true;
foundId = $(this)[0].outerHTML;
}
});
if (!found) {
// if item is not in selected div, add
$('#selected').prepend(h);
} else {
// if item is in selected div, add some text to it
$(foundId).append('1, ');
}
});
第一次单击可以,但是第二次单击后,没有任何反应。
最佳答案
将foundID更改为此foundId = $(this);
JSFiddle