Reputation: 32321
I am loping through the table to fetch only the selected tagids
But currently i am getting all the tag-ids , could you please tell me how to get tag id's for which checkbox is checked only
<table class="table" id="tagstablepac">
<tbody>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="1" type="checkbox">ONE <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="2" type="checkbox">TWO<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="3" type="checkbox">Three <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="4" type="checkbox">Four<span></span>
</label>
</td>
</tr>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="5" type="checkbox">Five<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="6" type="checkbox">SIX<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="23" type="checkbox">SEVEN<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="24" type="checkbox">Eight<span></span>
</label>
</td>
</tr>
<tr></tr>
</tbody>
</table>
$(document).ready(function(){
$("#tagstablepac > tbody > tr > td .selecttags").each(function(){
var tagid = $(this).data('tagid');
console.log('video_id' + tagid);
});
});
http://jsfiddle.net/cod7ceho/166/
Upvotes: 0
Views: 100
Reputation: 6548
<table class="table" id="tagstablepac">
<tbody>
<tr>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="1" type="checkbox">ONE <span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="2" type="checkbox">TWO<span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="3" type="checkbox">Three <span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="4" type="checkbox">Four<span></span></label></td>
</tr>
<tr>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="5" type="checkbox">Five<span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="6" type="checkbox">SIX<span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="23" type="checkbox">SEVEN<span></span></label></td>
<td><label class="mt-checkbox mt-checkbox-outline"><input class="selecttags" data-tagid="24" type="checkbox">Eight<span></span></label></td>
</tr>
<tr></tr>
</tbody>
</table>
<button id="logChecked">Log checked</button>
$(document).ready(function(){
$('#logChecked').on('click', function(){
var rowsHavingChecked = [];
$("#tagstablepac > tbody > tr > td .selecttags").each(function(){
if(this.checked){
rowsHavingChecked.push($(this).closest('tr'));
}
});
console.log(rowsHavingChecked);
})
});
Upvotes: 1
Reputation: 2834
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#tagstablepac").on("change", "input", function() {
var tagids = $(".selecttags:checked").get().map(function(elem) {
return elem.getAttribute("data-tagid");
});
console.log(tagids);
});
});
</script>
</head>
<body>
<div class="parent">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table" id="tagstablepac">
<tbody>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="1" type="checkbox">ONE <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="2" type="checkbox">TWO<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="3" type="checkbox">Three <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="4" type="checkbox">Four<span></span>
</label>
</td>
</tr>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="5" type="checkbox">Five<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="6" type="checkbox">SIX<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="23" type="checkbox">SEVEN<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="24" type="checkbox">Eight<span></span>
</label>
</td>
</tr>
<tr></tr>
</tbody>
</table></body>
</html>
Upvotes: 1
Reputation: 21881
Use the :checked
selector
Matches all elements that are checked or selected.
var tagids = $("#tagstablepac input:checked").get().map(function (elem) {
return elem.getAttribute("data-tagid");
});
$(function() {
$("#tagstablepac").on("change", "input", function() {
var tagids = $("#tagstablepac input:checked").get().map(function(elem) {
return elem.getAttribute("data-tagid");
});
console.log(tagids);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table" id="tagstablepac">
<tbody>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="1" type="checkbox">ONE <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="2" type="checkbox">TWO<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="3" type="checkbox">Three <span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="4" type="checkbox">Four<span></span>
</label>
</td>
</tr>
<tr>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="5" type="checkbox">Five<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="6" type="checkbox">SIX<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="23" type="checkbox">SEVEN<span></span>
</label>
</td>
<td>
<label class="mt-checkbox mt-checkbox-outline">
<input class="selecttags" data-tagid="24" type="checkbox">Eight<span></span>
</label>
</td>
</tr>
<tr></tr>
</tbody>
</table>
Upvotes: 3
Reputation: 729
This will Work for you:
$(document).ready(function()
{
$("#tagstablepac > tbody > tr > td .selecttags").each(function()
{
if($(this).is(":checked"))
{
var tagid = $(this).data('tagid');
console.log('video_id' + tagid);
}
});
});
Upvotes: 1
Reputation: 183
Edit: I meant checked
Use :selected in jquery as follows:
$("#tagstablepac > tbody > tr > td .selecttags:checked")
Upvotes: 1