html - 过滤表格后,数字输入正在丢失属性
问题描述
我有下表,顶部有一个过滤器部分。我也有一些 jQuery 来修改每个表格行中的输入字段。
如果我select
第一次更改过滤器中的选项,一切正常,但是当我select
第二次更改选项时,数字输入字段的行为不正确。我该如何解决这个问题?
jQuery(document).ready(function() {
// product variation table inputs
jQuery('.variations-table tr').each(function(_, item) {
let stepValue = parseInt(jQuery("td[data-title='Verpackung']", item).text());
jQuery('.quantity input', item).attr('step', stepValue);
jQuery('.quantity input', item).attr('min', stepValue);
jQuery(".variations-table .quantity input").val('0');
});
jQuery('.variations-table tr').each(function(_, item) {
let stepValue = parseInt(jQuery("td[data-title='Verpackung']", item).text());
jQuery(".filter select").change(function() {
jQuery(".variations-table .quantity input").each(function() {
jQuery(_, item).attr('val', '0');
});
jQuery('.quantity input', item).attr('step', stepValue);
jQuery('.quantity input', item).attr('min', stepValue);
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="variation-filters">
<div class="filters form-inline">
<div class="filter">
<label>DN</label>
<select class="form-control">
<option value="">alle</option>
<option value="attribute_pa_dn:40">40</option>
<option value="attribute_pa_dn:50">50</option>
<option value="attribute_pa_dn:65">65</option>
<option value="attribute_pa_dn:80">80</option>
<option value="attribute_pa_dn:15">15</option>
<option value="attribute_pa_dn:10">10</option>
<option value="attribute_pa_dn:20">20</option>
<option value="attribute_pa_dn:25">25</option>
<option value="attribute_pa_dn:32">32</option>
</select>
</div>
</div>
</div>
<table class="variations">
<thead>
<tr>
<th class="pa_thread">Gewinde</th>
<th class="pa_dn">DN</th>
<th class="pa_filter">Filter</th>
<th class="pa_package">Verpackung</th>
<th class="sku">Bestell-Nr.</th>
<th class="quantity">Menge</th>
<th class="add-to-cart"></th>
</tr>
</thead>
<tbody>
<tr class="variation-19537 image-Rohrnippel-Nr22-Stahl">
<td data-title="Gewinde">3/8"</td>
<td data-title="DN">10</td>
<td data-title="Filter">schwarz</td>
<td data-title="Verpackung">10</td>
<td data-title="Bestell-Nr."><span class="item">095-05</span></td>
<td class="quantity">
<form action="#">
<input type="number" step="10" min="10" max="" name="quantity" data-title="Qty" title="Qty" class="input-text qty text" size="4" pattern="[0-9]*" inputmode="numeric">
</form>
</td>
<td class="add-to-cart"><button type="submit" class="single_add_to_cart_button button alt" disabled="disabled">Anfrage</button></td>
</tr>
<tr class="variation-19536 image-Rohrnippel-Nr22-Stahl">
<td data-title="Gewinde">3/8"</td>
<td data-title="DN">10</td>
<td data-title="Filter">verzinkt</td>
<td data-title="Verpackung">10</td>
<td data-title="Bestell-Nr."><span class="item">095-05v</span></td>
<td class="quantity">
<form action="#">
<input type="number" step="10" min="10" max="" name="quantity" data-title="Qty" title="Qty" class="input-text qty text" size="4" pattern="[0-9]*" inputmode="numeric">
</form>
</td>
<td class="add-to-cart"><button type="submit" class="single_add_to_cart_button button alt" disabled="disabled">Anfrage</button></td>
</tr>
<tr class="variation-19542 image-Rohrnippel-Nr22-Stahl">
<td data-title="Gewinde">1 1/4"</td>
<td data-title="DN">32</td>
<td data-title="Filter">schwarz</td>
<td data-title="Verpackung">1</td>
<td data-title="Bestell-Nr."><span class="item">095-13</span></td>
<td class="quantity">
<form action="#">
<input type="number" step="1" min="1" max="" name="quantity" data-title="Qty" title="Qty" class="input-text qty text" size="4" pattern="[0-9]*" inputmode="numeric">
</form>
</td>
<td class="add-to-cart"><button type="submit" class="single_add_to_cart_button button alt" disabled="disabled">Anfrage</button></td>
</tr>
<tr class="variation-19543 image-Rohrnippel-Nr22-Stahl">
<td data-title="Gewinde">1 1/4"</td>
<td data-title="DN">32</td>
<td data-title="Filter">verzinkt</td>
<td data-title="Verpackung">1</td>
<td data-title="Bestell-Nr."><span class="item">095-13v</span></td>
<td class="quantity">
<form action="#">
<input type="number" step="1" min="1" max="" name="quantity" data-title="Qty" title="Qty" class="input-text qty text" size="4" pattern="[0-9]*" inputmode="numeric">
</form>
</td>
<td class="add-to-cart"><button type="submit" class="single_add_to_cart_button button alt" disabled="disabled">Anfrage</button></td>
</tr>
</tbody>
</table>
这是一个链接,有一个活的例子: https ://dev.krause-hattingen.de/produkte/gewinde-und-schweissfits/stahlfits/rohrnippel-nr-22-aus-stahl/
非常感谢你帮助我!
解决方案
推荐阅读
- javascript - 如何在vue中正确生成嵌套数组
- c++ - 对此出现 rintime 错误,这是基本的
- wordpress - 嵌入的 YouTube 视频无法在 WordPress 网站上运行
- java - 为什么我运行webapp时会打印两次?它是默认创建的模板我没有更改任何内容
- cygwin - zef 在 Cygwin 上安装 Inline::Perl5 失败
- c - 在 C 上编码二进制序列
- python - 在 python 中解析 csv 文件时出现意外的空间(不确定这个空间是什么类型的字符)
- reactjs - react-hook-form 仅重置错误消息
- c# - Discord.Net 如何在嵌入文本格式中转到下一行?
- python - sshtunnel python动态端口转发