最上面的按钮就是我要做的。 基本上,它们就像价格段,通过按下表,应该根据所选值重新排列表中的行。 因此,如果选择1500-2000,那么该段中的每个用户都应该是表中的第一个。
下面是我的html
标记。
<form action="" id="segments">
<input type="radio" id="0-level" name="level" value="менее €500">
<label for="0-level">less than €500</label>
<input type="radio" id="1-level" name="level" value="€500 - €1000">
<label for="1-level">€500 - €1000</label>
<input type="radio" id="2-level" name="level" value="€1000 - €1500">
<label for="2-level">€1000 - €1500</label>
<input type="radio" id="3-level" name="level" value="€1500 - €2000">
<label for="3-level">€1500 - €2000</label>
<input type="radio" id="4-level" name="level" value="€2000 - €2500">
<label for="4-level">€2000 - €2500</label>
<input type="radio" id="5-level" name="level" value="более €2500">
<label for="5-level">more than €2500</label>
</form>
<table class="sortable">
<thead>
<tr><th>Name</th>
<th>Email</th>
<th>Money spend</th>
<th>Last login</th>
<th>Send Newsletter</th>
</tr>
</thead>
<tbody>
<tr data-segment-level="2" class="subscribed">
<td>jack bishop</td><td>abc@site.com</td>
<td>€1,189.38</td><td>08/06/2020 </td>
<td>
<input type="checkbox" class="emailstosend" name="emailstosend" value="abc@site.com">
</td>
</tr>
<tr data-segment-level="5" class="subscribed">
<td>Jack Mimo</td>
<td>email@site.com</td>
<td>€15,345.78</td>
<td>05/06/2020 </td>
<td>
<input type="checkbox" class="emailstosend" name="emailstosend" value="email@site.com">
</td>
</tr>
</tbody>
</table>
我向每一行添加了data-segmnent-level
属性,其值取决于该行/用户花费的钱。 它们与顶部以0开始,以5结束的单选按钮相对应。
任何帮助都是非常感激的,因为我完全被困住了!
好的,您必须使用javascript或jquery,我将向您展示一个通用的解决方案
将app.js文件链接到HTML文件,而不是将数据静态地放在HTML中,而是将其放在js对象中,如下所示:
users = [
{name:'Jack Bishop', email:'ex@ex.com', MonySpent:'1300'}
...
]
对于页面的初始打开,您可以只插入HTML而不对表进行任何排序,当用户单击任何按钮时,您必须调用一个函数,该函数将1-清空表2-用请求的排列对用户数组进行排序3-将排序后的用户数组插入表
您可以将HTML注入到表中,如下所示:
('.sortable tbody').append(
'<tr data-segment-level="5" class="subscribed">' +
'<td>' + users[counter].name + '</td>' +
'<td>' + users[counter].email + '</td>' +
...
'</tr>'
)