Редкий клиент примет работу как она есть. Обычно изощренный ум клиента исхитрится выродить такое , что ты, разумеется, никак не ожидаешь. Как ни странно, в этот раз я жутко обрадовался этой задачке, ибо, уже изрядно устал от типовых задач. А тут такое, на те, получите. Если ближе к делу , то задание кратко звучит так: на странце товаров есть таблицы, нужно чтобы под каждой колонкой были кнопки "заказать", при нажати форма всплывает и тд...
Почесав небритый подбородок понес свое тело на диван, дабы полежать и "бумажно" подумать о сие деле. Решение пришло так же неожиданно, как обычно приходит дедлайн.
Ну, собственно сам код:
Почесав небритый подбородок понес свое тело на диван, дабы полежать и "бумажно" подумать о сие деле. Решение пришло так же неожиданно, как обычно приходит дедлайн.
Ну, собственно сам код:
$(function() {
//есть ли такой обьект?
if($('.add-btns')!=undefined){
//Наша таблица с классом = add-btns
var $tbl = $('.add-btns');
// смотрим сколько стобцов у таблицы
var tr = $tbl.find('tr').first().find('td');
var trTxt = '< tr class="tr-btns"> ';
for(var i = 0; i < tr.length-1; i++){
trTxt+= 'заказать ';
}
trTxt+= '';
//добавляем в конец таблицы еще одну строку с кнопками
$tbl.append(trTxt);
//Вешаем обработчик
$('.tbl-btn').click(function(){
/*
Вызываем окно. В данном проекте вызывается таким образом.
drevo_form_show(9,'');
*/
var i = $(this).data('i');
i+=2;
var $tbl = $('.add-btns');
var txt = '';
//Добавляем заголовок
txt+=$('h1').text();
txt+=';';
var arrTr= $tbl.find('tr');
for(var j = 0; j < arrTr.length; j++){
var name =$(arrTr[j]).find('td:first').text();
var val =$(arrTr[j]).find('td:nth-child('+i+')').text();
if(name!=''){
txt+=name+' - ';
}
if(val!='' && val!='заказать'){
txt+=val;
}
txt+=';';
}
console.log(txt);
//Добавляем данные в форму. У меня невилимый.
$('.hidden-input-data').val(txt);
});
}
});
Все


Комментариев нет:
Отправить комментарий