我有以下代码:
<ul class="ul" id="selected_conditions">
<li data-field="asset_locations_name" data-condition="in">
<i class="fa fa-minus-circle delete_condition" aria-hidden="true" title="Click to remove this condition from the list"></i> WHERE asset_locations_name IN(
<span class="condition_item" data-id="1213381233">
<i class="fa fa-minus-circle delete" title="Click to remove this item from the list" aria-hidden="true"></i> 1213381233
</span>,
<span class="condition_item" data-id="1212371897">
<i class="fa fa-minus-circle delete" title="Click to remove this item from the list" aria-hidden="true"></i> 1212371897
</span> )
</li>
</ul>
每次单击小图标时.delete
,都应删除当前值,并可以通过以下代码实现:
$(function() {
$('#selected_conditions').on('click', '.delete', function(ev) {
var item_id = $(this).parent().data('id');
$('.condition_item[data-id="'+ item_id +'"]').remove();
});
});
但是上面的代码有两个问题:如果我删除任何项目,该符号,
也不会被删除,这是错误的,因为第二个我没有空()
字符串,所以:
,
这样我就不会出现像(,1213381233)
or这样的错误字符串(1213381233,)
?有什么帮助吗?我给你提琴了。这是一个WIP,因此,如果您有建议或更好的解决方案,请随时将其添加到您的答案中。
不用对逗号进行硬编码,而是:before
仅在一行中有多个项时才使用CSS添加逗号。
.condition_item+.condition_item:before {
content: ", "
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句