У меня есть эта таблица, которая загружается из базы данных, поэтому все элементы от each row
имеют одинаковые атрибуты.Как управлять элементами HTML с помощью jquery?
<table class="table table-responsive">
<tr>
<th>Product name</th>
<th>Quantity</th>
<th>Price per unit</th>
<th>Total</th>
<th>Action</th>
</tr>
<tr>
<td class="product-name">Product one name</td>
<td class="product-quantity">
<!-- plus button should increase quantity and update total based on unit_price*quantity -->
<button class="btn"> +</button>
<input type="text" value="2"/>
<button class="btn"> -</button>
</td>
<td class="unit-price">50</td>
<td class="total-price">100</td>
<td>
<!-- this should delete entire row -->
<button class="product-delete">Delete</button>
</td>
</tr>
...
</table>
<!-- on each quantity change this needs to update -->
<div class="grand-total"> 5000 </div>
Я попытался сделать jQuery
но не мог работать его, так как каждая строка имеет те же атрибуты, я неспособен выбрать конкретную строку и обновить его содержимое, чтобы сделать эту работу.
Я много искал, но все, что я нашел, - это манипуляция HTML, основанная на селекторе id и класса, которую я не могу использовать, поскольку элементы из каждой строки имеют один и тот же класс, и я не могу дать уникальный идентификатор каждому элементу, потому что они загружают из базы данных (PHP).
Я был бы очень признателен, если бы кто-нибудь мог сказать мне, как это сделать в jQuery
. И, пожалуйста, не давайте мне ссылки на статические HTML
манипуляции с использованием jQuery
Я хочу решение для динамического HTML elements
.
какой тип операции нужно выполнить на столе – Rahul
@Aniket Дешмук Что вам нужно, некоторые ** уникальный идентификатор ** или ** уникальные данные ** для каждого ряда/продукта ваша таблица базы данных, если у вас ее нет, тогда невозможно ** удалить или обновить ** определенную строку в базе данных. – divy3993
У меня есть уникальный идентификатор для каждого продукта, но я могу дать ему название продукта
ответ
Обновлено: Вот рабочий пример: Fiddle example и код:
источник
2016-02-15 12:03:21
Обновлено, с несколькими строками –
Спасибо Я думаю, что ваш ответ оптимален, чем тот, который я разработал –
Почему бы не использовать класс jQuery на основе классов? вы имеете в виду изменить атрибуты только целого ряда элементов, а не всего класса?
Если вы решили не использовать на основе выбора JQuery класса, вы можете прибегнуть к изменению классов с JQuery, который очень легко:
источник
2016-02-15 11:31:53
Ваш ответ не пытается ответить на вопрос. Это должно быть редактирование, комментарий, другой вопрос или вообще исключить. – divy3993
В этом проблема, если я буду использовать выбор класса, каждая строка будет выбрана, и я хочу выбрать только одну строку, где выполняется операция с кнопками плюс минус и удаления. –
Привет я добавил работает демо-код, который поможет вам много.
Я добавил событие click на кнопку, а в случае w.r на кнопку у меня есть поиск элемента tr из элемента tr и из родительского tr я могу найти каждую вещь внутри tr с помощью jquery-метода.
увидеть код и понять его вызывающе, это поможет вам
источник
2016-02-15 11:45:04 Rahul
Удивительный !! работает отлично, я искал это в течение недели. Еще один вопрос, но как получить текст в
с использованием jqeury используя имя класса div или provoide id для этого div, чтобы он был uniuqe. Использование селектора классов. $ (". grand-total"). empty(). append ("общее количество от claculation"); или bu sing id $ ("# idofgrand-total"). Empty(). Append ("total amount from claculation"); – Rahul
Да, сделал это уже –
Привет, я добавил демо-код, который поможет вам. и для каждого нового td вам нужно ввести тип, который содержит идентификатор продукта и его имя, и он должен быть скрыт. Принимая идентификатор и имя продукта, вы можете обновлять и удалять один и тот же продукт.
Примечание: если вы получаете доступ к базе данных данных, вы получите идентификатор продукта и его имя, и вы можете передать эти значения для ввода тега, как указано выше, соответственно.
источник
2016-02-15 13:27:56
Вы использовали идентификатор в качестве селектора, не будет ли он выбирать каждую кнопку в каждой строке с одинаковым идентификатором? Я имею в виду, что каждая строка будет иметь кнопку с id = 'Addbutton'. Я думаю, что id должен быть уникальным в html? –
Да в каждом новом tr у вас будет скрытый тип ввода, сохраняя это скрытое значение или идентификатор продукта, который вам нужно реализовать. а также вы можете использовать этот код для добавления и удаления кнопки, и это указывает только на то, что именно tr. var TextBox = parseInt ($ (parentTR) .find (". TextBox"). Val()); $ (parentTR) .find (". TextBox"). Val (TextBox + 1); –
Вот окончательное решение, которое я разработал от ответа Рахул в.
источник
2016-02-15 17:54:04
Смежные вопросы