jQuery - не работает цикл
вот есть такой код:
function allSearch() {
var mas=$('.sb').map(function(){
return $(this).attr('name');
});
$.each(mas, function(index,value){
$('#'+value).click();
//alert();
});
}
Зараза, без алерта работать не хочет. мне нужно выполнить нажатие всех ссылок в цикле. |
function allSearch() {
$('.sb').filter('[name]').each(function() {
this.click();
});
}
|
все равно только срабатывает один раз((
|
html можно
|
<script type="text/javascript">
/*function allSearch() {
var mas=$('.sb').map(function(){
return $(this).attr('name');
});
$.each(mas, function(index,value){
$('#'+value).click();f
//alert();
});
}*/
function allSearch() {
$('.sb').filter('[name]').each(function() {
this.click();
});
}
</script>
<td class="left1" colspan="3"><a onclick="allSearch()" class="button">Поиск ссылок</a> <a onclick="filter();" class="button">Фильтр</a></td>
а вот сами ссылки: <a class="sb" id="<?php echo $product['product_id'];?>" name='<?php echo $product['product_id'];?>' onclick="find_product(<?php echo $product['product_id'];?>, null);">Поиск</a> |
я могу впринципе в админку пустить это демо магазин.
|
ах да в firebug нашел вот такое
NS_ERROR_IN_PROGRESS: Component returned failure code: 0x804b000f (NS_ERROR_IN_PROGRESS) [nsICacheEntry.dataSize] |
есть идеи?
|
На сколько я вижу проблемы в цикле нет работа скрипта прекращается после первого вызова функции find_product судя по ошибки если я правильно ее толкую, то у вас что-то не догружается.
|
я тоже об этом думаю, потому что с алертом работает, но если очень быстро нажать алерт, то получаются пропуски. как можно выставить паузу без алерта грамотно?
|
function allSearch() {
$('.sb').filter('[name]').each(function(i, el) {
setTimeout(function() { el.click() }, 1000 /* Задержка в секунду */);
});
}
|
вот решение задачи:
$('#all').click(function() {
$(".sb").each(function(index) {
var self = this;
setTimeout(function() {
$(self).trigger('click');}, 4000*index);
});
});
|
Тогда уж так:
jQuery(function($) {
$('#all').click(function(e) {
$('.sb').each(function(i, el) {
setTimeout(function() { el.click(); }, 4000 * i);
});
});
});
|
| Часовой пояс GMT +3, время: 04:27. |