我是jQuery和html的新手。我试图从复选框列表中获取所有选中的值,但我的脚本返回所有值,而不是检查。
关注我的HTML:
<input type="button" value="Show selected" onclick="return false" class="showSelectedOnly">
<table>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
</table>
我的js脚本:
$(".showSelectedOnly").click(function(){
$('.order_row:checkbox:checked').each(function () {
var sThisVal = $(this).attr("data-order-id");
alert(sThisVal);
});
});
请让我知道为什么我的脚本只返回选中的值。
答案 0 :(得分:0)
为什么你使用$(&#39; .order_row:复选框:选中&#39;)只使用$(&#39; .order_row:选中&#39;)检查以下答案希望它会有所帮助 -
$(".showSelectedOnly").click(function(){
$('.order_row:checked').each(function () {
var sThisVal = $(this).attr("data-order-id");
alert(sThisVal);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="Show selected" onclick="return false" class="showSelectedOnly">
<table>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
<tr>
<td>
<input type="checkbox" class="order_row" data-order-id="20161004-135848" name="sel20161004-135848" ></td>
</tr>
</table>
&#13;
答案 1 :(得分:0)
只需将所有已检查的数据存储在数组中,如下所示
$(".showSelectedOnly").click(function(){
var selected = [];
$('.order_row:checkbox:checked').each(function () {
var sThisVal = $(this).attr("data-order-id");
selected.push(sThisVal);
});
alert(selected);
});