Javascript 仅当表格复选框为“时获取表格行”;勾选“;

Javascript 仅当表格复选框为“时获取表格行”;勾选“;,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我使用下面的代码来检索所选行的值,方法是使用checkbox class=btselect 我只想在复选框标记为选中时获取行 当前代码在选中和取消选中复选框时获取值 为什么选中或取消选中复选框时,下面的代码会获取值 $("#itemtable").on('click', '.btnSelect', function() { // get the current row alert("i am inside dddd"); var currentRow = $(this).cl

我使用下面的代码来检索所选行的值,方法是使用
checkbox class=btselect

我只想在
复选框
标记为选中时获取行

当前代码在选中和取消选中
复选框时获取值

为什么选中或取消选中复选框时,下面的代码会获取值

$("#itemtable").on('click', '.btnSelect', function() {
   // get the current row 
   alert("i am inside dddd");
   var currentRow = $(this).closest("tr");

   var col1 = currentRow.find("td:eq(0)").text(); // get SI no from checkbox
   var col2 = currentRow.find("td:eq(1)").text(); // get item name
   var col3 = currentRow.find("td:eq(2)").text(); // get item code
   var col4 = currentRow.find("td:eq(3)").text(); // get supplier
   var col5 = currentRow.find("td:eq(4)").text(); // get received qty
   var col6 = $(currentRow).find("td:eq(5) input[type='text']").val(); // get accepted qty
   var col7 = $(currentRow).find("td:eq(6) input[type='text']").val(); // get rejected qty
   var col8 = $(currentRow).find("td:eq(7) input[type='text']").val(); // get remarks

   var data = col1 + "\n" + col2 + "\n" + col3 + "\n" + col4 + "\n" + col5 + "\n" + col6 + "\n" + col7 + "\n" + col8;

   alert(data);
});
[![enter image description here][1][1]

您可以使用DOM对象的属性

适用于exmaple

$("#itemtable").on('click', '.btnSelect', function() {
    if(this.checked){
        // get the current row 
        alert("i am inside dddd");
        var currentRow = $(this).closest("tr");

        var col1 = currentRow.find("td:eq(0)").text(); // get SI no from checkbox
        var col2 = currentRow.find("td:eq(1)").text(); // get item name
        var col3 = currentRow.find("td:eq(2)").text(); // get item code
        var col4 = currentRow.find("td:eq(3)").text(); // get supplier
        var col5 = currentRow.find("td:eq(4)").text(); // get received qty
        var col6 = $(currentRow).find("td:eq(5) input[type='text']").val(); // get accepted qty
        var col7 = $(currentRow).find("td:eq(6) input[type='text']").val(); // get rejected qty
        var col8 = $(currentRow).find("td:eq(7) input[type='text']").val(); // get remarks

        var data = col1 + "\n" + col2 + "\n" + col3 + "\n" + col4 + "\n" + col5 + "\n" + col6 + "\n" + col7 + "\n" + col8;

        alert(data);
    }

});
我在JSFIDLE上做了一个exmaple:

原因-在使用复选框时,需要使用
change
事件,因为它们具有如下状态:

$(document).on('change','.btnSelect',function(){


我在测试中使用
$(document)
,因为您没有发布其余的代码。

只需选中复选框是否选中的条件即可

    var isChecked= document.getElementById("btnSelect").checked;
    if(isChecked){
       // write your code here
}
$(文档).ready(函数(){
$(“#保存记录”)。单击(函数(事件){
//$(“#itemtable”)。在('click','btselect',function()上{
//获取当前行
var currentRow=$(“.btselect:checked”).closest(“tr”);
console.log(currentRow.index())
var col1=currentRow.find(“td:eq(0)”).text();//从复选框中获取SI no
var col2=currentRow.find(“td:eq(1)”).text();//获取项目名称
var col3=currentRow.find(“td:eq(2)”).text();//获取项目代码
var col4=currentRow.find(“td:eq(3)”).text();//获取供应商
var col5=currentRow.find(“td:eq(4)”).text();//获取接收数量
var col6=currentRow.find(“td:eq(5)”).text()
var col7=currentRow.find(“td:eq(6)”).text()
var col8=currentRow.find(“td:eq(7)”).text()
var data=col1+“\n”+col2+“\n”+col3+“\n”+col4+“\n”+col5+“\n”+col6+“\n”+col7+“\n”+col8;
控制台日志(数据);
});
//});
});

中国
项目名称
项目代码
供应商
收到数量
接受数量
拒收数量
评论
1.
饼干
e123
abc公司
23
20
3.
浪费
2.
巧克力
e526
xyz公司
25
20
5.
浪费

add conditional state如果复选框被选中是的,我被选中了,你能帮我给出正确的代码段而不是。b选择验证确保添加呈现html标记以便我可以创建演示请在我单击“保存”按钮时选中@guradio我想获得选中复选框的行值非常感谢。我们可以包括任何类似于e仅在选中“.btselect:checked”时获取表行?
$(“.btselect:checked”)
将只获取选中的复选框Yes correct.但是是否有可能仅在选中时执行当前行提取代码。因为在当前代码中,没有选中复选框时我无法获取数据。但是用于获取行数据的一段代码正在被执行。有没有办法避免这种情况