我有以下小提琴:http://jsfiddle.net/d3qD4/1/
$("#testDiv").html("");
在这里,我试图在点击每个项目旁边的remove.png点击时删除选择(收音机和复选框)。在jquery中是否有办法获得相应的收音机/复选框名称,反向工程并删除复选框/收音机选择?我还需要在此remove.png点击中删除我的testDiv中的项目(这是一个' x'标记)。尝试选择元素但似乎没有任何效果。
答案 0 :(得分:2)
由于您动态添加了.bckeys
,因此您需要使用on()
并委派该事件。您可以使用添加的元素的text()
定位label
,然后使用prev()
进行遍历以取消选中相应的input
:
$('#testDiv').on('click', '.bckeys', function() {
var $this = $(this);
$('label[title=' + $this.text() + ']').prev('input').prop('checked', false);
$this.remove();
});
另外,请确保删除这些重复的ID:)
答案 1 :(得分:0)
为图像分配一个ID,该ID对应于相应的复选框ID。然后只需使用该ID来确定要设置为未选中的复选框值。
类似于:如果复选框ID为“check1”..您可以将图片ID命名为image_check1或其他东西
答案 2 :(得分:0)
像这样使用
$(":checkbox").change(function () {
$("#testDiv").html("")
$("input:checked").each(function () {
$("#testDiv").append($("<span/>", {
class: 'bckeys',
html: $(this).next().text().trim() + "<img id=" + $(this).next().attr("title") + " src='" + "http://www.test.com" + "' src='remove.png'>"
}))
})
});
$(document).on("click", "img", function () {
$("[title=" + this.id + "]").prev().toggle();
});