Jquery 任一复选框都不是';t已选中或脚本停止继续 我希望用户只需单击该行,然后选中或取消选中复选框 我希望该行设置动画并向上或向下移动,以便选中的项目显示在列表的底部

Jquery 任一复选框都不是';t已选中或脚本停止继续 我希望用户只需单击该行,然后选中或取消选中复选框 我希望该行设置动画并向上或向下移动,以便选中的项目显示在列表的底部,jquery,jquery-ui,Jquery,Jquery Ui,所有这些都很好!:-) 但是当我点击实际复选框时,它没有被选中。 我尝试过StopRopagation,但它只是停止了动画 我试过很多东西,但都不管用-( 怎么办??:/ 您可以在此处看到演示: $(文档).ready(函数(){ $('.row')。单击(函数(){ var checkbox=$(this.find('input[type=checkbox]'); checkbox.prop(“选中”),!checkbox.prop(“选中”); var upordown=checkbox.

所有这些都很好!:-)

但是当我点击实际复选框时,它没有被选中。 我尝试过StopRopagation,但它只是停止了动画

我试过很多东西,但都不管用-(

怎么办??:/

您可以在此处看到演示:

$(文档).ready(函数(){
$('.row')。单击(函数(){
var checkbox=$(this.find('input[type=checkbox]');
checkbox.prop(“选中”),!checkbox.prop(“选中”);
var upordown=checkbox.prop(“选中”);
如果(向上){
$(this).slideUp(function(){$(this).insertAfter(“#foo”);
$(this.slideDown();
});
}
否则{
$(this).slideUp(function(){$(this).insertBefore(“#foo”);
$(this.slideDown();
});
}
});
//$('input[type=checkbox]')。单击(函数(e)
//	{
//e.停止传播();
//返回true;
//	});
});
.row{
宽度:300px;
填充:4px;
保证金:2倍;
边框:1px实心#666;
}
.左{
浮动:左;
宽度:25px;
}
.清楚{
明确:两者皆有;
}

待办事项
项目1
项目2
项目3
项目4
项目5

我怀疑这是一个冒泡事件。考虑下面的代码。

$(函数(){
$(“.row,输入[type='checkbox']”)。单击(函数(e){
var行;
如果($(e.target).is(“.row”)){
行=$(e.target);
}否则{
行=$(e.target).最近(“.row”);
}
var checkbox=$('input[type=checkbox]',第行);
checkbox.prop(“选中”),!checkbox.prop(“选中”);
var up=checkbox.prop(“选中”);
如果(向上){
row.slideUp(函数(){
row.insertAfter(“#foo”).slideDown();
});
}否则{
row.slideUp(函数(){
row.insertBefore(“#foo”).slideDown();
});
}
});
});
.row{
宽度:300px;
填充:4px;
保证金:2倍;
边框:1px实心#666;
}
.左{
浮动:左;
宽度:25px;
}
.清楚{
明确:两者皆有;
}

待办事项
项目1
项目2
项目3
项目4
项目5

非常感谢!!!所以您使用的是“最近的”而不是“查找”。好多了!我已经挣扎了两天。非常感谢!!!@StuckAtDatQ它是相对的。
.find()
将在所选元素的子元素中找到一个元素。
.closest()
将遍历父元素,直到找到目标元素。由于本例中的目标可能是多个
DIV
元素,因此我创建了一个条件来检查并执行其中一个。