#javascript #jquery #tags
#javascript #jquery #Теги
Вопрос:
У меня есть раздел, в котором пользователь может добавлять теги, вводя текст и нажимая кнопку добавить. Как только тег добавлен, он отображается с кнопкой удаления, чтобы пользователь мог добавлять или удалять теги. Я создал код JavaScript, позволяющий пользователю добавлять теги, который работает ниже. Однако я не знаю, как разрешить пользователю удалять тег при нажатии кнопки удаления. Буду признателен за любую помощь.
if($("#addTag").length>0){
$("#addTag").click(function(){
var tag = $("#tag").val()
var campaign_tags = JSON.parse($("#campaign_tags").val())
if(tag==''){
alert('no text added')
}
else{
//add check to see if the tag is already added
if(jQuery.inArray(tag, campaign_tags)==-1)
{
var tag_html = "<div class='campaign_tags'><small>" tag "</small><div class='campaign_btn remove_tag'>x</div></div>"
$("#tag_container").append(tag_html)
//now add the tag to the array
campaign_tags.push(tag)
$("#campaign_tags").val(JSON.stringify(campaign_tags))
//re-initialize the delete function
init_remove_tag()
}
}
})
}
Ответ №1:
Приведенный ниже код будет вызван при нажатии на вашу кнопку удаления. Он найдет campaign_tags
div и удалит его.
$(document).on("click", ".remove_tag", function(){
$(this).parents(".campaign_tags").remove();
});
Редактировать
Как предложил @Blazemonger .closest()
, это лучший выбор
$(document).on("click", ".remove_tag",function(){
$(this).closest(".campaign_tags").remove();
});
Комментарии:
1.
.closest()
было бы лучшим выбором, чем.parents()
2. Еще одним небольшим улучшением было бы нацеливание
$('#tag_container')
(на ближайшего постоянного предка) вместо$(document)