我有以下代码:
<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();
});
});
但是上面的代码有两个问题:如果我删除了任何项目,那么符号,
就不会被删除而且那个错误作为第二个我无法使用emtpy ()
字符串,所以:
,
,以便我最终找不到像(,1213381233)
或(1213381233,)
这样的错误字符串?有任何帮助吗?我给你留了一个Fiddle来玩。这是一个WIP,所以如果您有建议或更好的解决方案,请随时将其添加到您的答案。
答案 0 :(得分:3)
不是硬编码逗号,我只使用CSS :before
来添加逗号,只有当一行中有多个项目时才会使用逗号。
.condition_item+.condition_item:before {
content: ", "
}