eat_Me
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Заранее прошу прощения за гомнокод Здравствуйте, есть таблица, в которой в которой по строчно существуют селекты на выбор услуги, которые берутся из базы, следующая ячейка - поле для ввода кол-ва и след. ячейка - поле для вывода цены в соответствии с выбранной услугой. Суть - из раскр. списка выбираем услугу и сразу же получаем ее цену. При введении какого либо кол-ва в поле (которое находится ниже таблицы) выводится общая стоимость. Все бы ничего, вес работало пока не пришла необходимость создавать несколько услуг. Делаем путем добавления новой строки в таблицу с новыми такими же элементами (список услуг, кол-во и цена). Чтобы не было одинаковых id, при создании каждого элемента ему присваивается уникальный id. Тут встречаюсь с проблемой выбора. При выборе любой услуги в любой из строчек оно должно записаться в цену именно этой строки где выбирали. Общий вид таблички: Код: $res .='<tr class="addTR_'.$_GET["indexTR"].' classADD"> <td class="title">'; $res .= ' <select id="servs_'.$_GET["indexTR"].'" class="ololo">'; foreach($services as $value) { $res .= ' <option value="'.$value->id.'">'.$value->title.'</option>'; } $res .= ' </select> </td> <td class="lasting"> <input type="text" name="kol'.$_GET["indexTR"].'" id="kol'.$_GET["indexTR"].'" class="inputkol"> </td>'; $res .= ' <td class="price_td" id="2"> <input type="text" value="" class="price" id="price_'.$_GET["indexTR"].'"> </td> <td class="tdDelete"><a href="#" id="delete">Удалить</a></td> </tr>'; | ------------------------ ума хватило только на то чтобы в соответствии с id услуги менять цену по клику на ней...но как так сделать чтобы его получить при выборе услуги не знаю..то есть чтобы и id списка с услугами получать и id цены... Кусочек обработки: Код: $(document).ready(function() { $("tr").on("click","select",function(){ var ID=$(this).attr("id"); var val = $("#"+ID+" option:selected").val(); $.ajax({ type: "POST", data: "index_sel=" + val, url: "?name='.$this->CurrentPage.'&module='.$this->CurrentCPanelModule.'&action=change_price'.'", dataType: "json", success: function (data) { $(".price").on("click", function(){ var f=$(this).attr("id"); $("#"+f).val(data); var culc = data*$("#kol").val(); $("#cost").val(culc); }); } }); }); $("#kol").live("click", function() { $("#kol").bind("change keyup input click", function() { var culc = $("#"+f).val()*$("#kol").val(); $("#cost").val(culc); }); $("#kol").keypress (function (e) { if (e.keyCode < 48 || e.keyCode > 57) { return false; } }); }); |
| Всего записей: 1 | Зарегистр. 28-08-2013 | Отправлено: 18:47 28-08-2013 | Исправлено: Cheery, 20:17 28-08-2013 |
|