Jquery se(); }否则{ 返回$(this.slideUp(1000.promise()); } })).done(函数(){ var结果=“”; $('div.option')。每个(函数(){ 结果+=$(this).find('select').prop('name')++'可见:'++$(this).IS(':VISIBLE')++''; }); $('#results').html(results); }); }); div{ 填充物:5px10px; } 分区儿童{ 显示:无 } 挑选{ 宽度:200px; 保证金:4倍; } ---选择一个容器--- 盒子 纸袋 托盘 红色 蓝色 绿色 黄色的 黑色 黄色的
因为jQuery动画可以返回承诺Jquery se(); }否则{ 返回$(this.slideUp(1000.promise()); } })).done(函数(){ var结果=“”; $('div.option')。每个(函数(){ 结果+=$(this).find('select').prop('name')++'可见:'++$(this).IS(':VISIBLE')++''; }); $('#results').html(results); }); }); div{ 填充物:5px10px; } 分区儿童{ 显示:无 } 挑选{ 宽度:200px; 保证金:4倍; } ---选择一个容器--- 盒子 纸袋 托盘 红色 蓝色 绿色 黄色的 黑色 黄色的,jquery,promise,Jquery,Promise,因为jQuery动画可以返回承诺.promise()并使用.map而不是。每个-代码可以是: $('select[data parent=“true”])。更改(函数(){ var parentValue=+this.value; var parentId=$(this).data('parent_id'); $.when.apply($,$('div[data-parent_id=“'+parentId+'“]).map(函数(i,v){ var parentValues=$(this).d
.promise()
并使用.map
而不是。每个
-代码可以是:
$('select[data parent=“true”])。更改(函数(){
var parentValue=+this.value;
var parentId=$(this).data('parent_id');
$.when.apply($,$('div[data-parent_id=“'+parentId+'“]).map(函数(i,v){
var parentValues=$(this).data('parent_values');
if(parentValues.indexOf(parentValue)!=-1){
返回$(this.slideDown(1000.promise());
}否则{
返回$(this.slideUp(1000.promise());
}
})).done(函数(){
var结果=“”;
$('div.option')。每个(函数(){
结果+=$(this).find('select').prop('name')++'可见:'++$(this).IS(':VISIBLE')++'
';
});
$('#results').html(results);
});
});代码>
div{
填充物:5px10px;
}
分区儿童{
显示:无
}
挑选{
宽度:200px;
保证金:4倍;
}
---选择一个容器---
盒子
纸袋
托盘
红色
蓝色
绿色
黄色的
黑色
黄色的
当然,知道jQuery动画可以“本机地”返回一个承诺,并使用.map而不是.each-代码可以进一步简化,这是我一整天看到的最酷的事情。你应该把它作为另一个答案发布,我很乐意把它标记为已接受。谢谢答案补充-虽然我没有测试它-从头开始,现在就测试它,当然,知道jQuery动画可以“本机”返回一个承诺-并使用.map而不是.each-代码可以进一步简化,这是我一整天看到的最酷的事情。你应该把它作为另一个答案发布,我很乐意把它标记为已接受。谢谢答案补充-虽然我没有测试它-从头开始,现在就测试它谢谢-我一直是map()
的粉丝,这比我自己想出的更优雅、更直观。我很惊讶关于这个话题的问答在这么短的时间内并不常见。。我发现了一些好的线程,但没有我预期的那么多,因为事实上,这种需求可能一直在出现。我想很多人只是满足于它的工作原理,并不介意在他们只需要一个的时候触发20个事件。谢谢-我一直是map()
的粉丝,这比我自己想出的更优雅、更直观。我很惊讶关于这个话题的问答在这方面并不常见。。我发现了一些好的线程,但没有我预期的那么多,因为事实上,这种需求可能一直在出现。我认为很多人只是满足于它的工作,并不介意在他们只需要一个事件的时候触发20个事件。