我试图让它成为当用户选择一个复选框然后点击按钮(下面的代码中未显示)时,它们将被重定向到其中包含某些细节的新页面。我需要为此获取asset.id
值。我的问题是,我不知道从哪里开始获取这些值并使其与submit
按钮一起使用。
HTML
<thead>
<tr>
<th>Select</th>
<th>Model</th>
<th>Asset Number</th>
<th>Warranty</th>
<th>Notes</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for asset in assets %}
<tr>
<td><input type="checkbox"/></td>
<td>{{asset.model}}</td>
{% if loop.first %}<td class="tour-step tour-step-sixteen"><a href="/dashboard/it/asset/{{asset.id}}">{{ prefix }}{{asset.assetNumber}}</a></td>
{% else %}
<td><a href="/dashboard/it/asset/{{asset.id}}">{{ prefix }}{{asset.assetNumber}}</a></td>
{% endif %}
<td>{{asset.warranty | date("y-m-d")}}</td>
<td>{{asset.notes}}</td>
<td>
<form id="label-form" action="/dashboard/it/label/print" method="POST">
<button type="submit" class="btn btn-danger"><i class="fa fa-trash-o"></i></button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
我还没有JS因为我不确定如何开始获取我需要的值以及如何将它们保存/传递到我的POST
路径上。甚至指导也会很棒。
我现在花了3.5个小时在网上看,但是我找不到任何解决方案似乎完整,他们都缺少某些东西,或者单个值不是我想要的多个。
答案 0 :(得分:1)
您可以循环表tr
并获取已选中复选框的ID。
提交表单时,可以调用该函数,在服务器中将该数组发送到数组中。
这只是一个简单的例子,现在您可以根据需要使用代码
getSelected = function(){
var array = [];
$('#my_table tbody tr').each(function(index, object){
if($(this).find('input[type="checkbox"]').prop("checked"))
array.push($(this).find('.id').html());
});
console.log(array);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="my_table">
<thead>
<tr>
<th>ID</th>
<th>Value</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td class="id">1</td>
<td>Hola</td>
<td><input type="checkbox"></td>
</tr>
<tr>
<td class="id">2</td>
<td>Como</td>
<td><input type="checkbox"></td>
</tr>
<tr>
<td class="id">3</td>
<td>Stas</td>
<td><input type="checkbox"></td>
</tr>
</tbody>
</table>
<button onclick="getSelected()"> Get Selected </button>