在删除之前将第二个 <td> 的值存储为逗号分隔

Storing values of second <td>'s as comma separated just before deletion

我有一个 table 有 2 个 <td>,一个有一个复选框,另一个有一个值:

我的table如下:

<table border="1" id="table_sundry">
    <tr>
        <td><input type="checkbox" id="chk_1"></td>
             <td id="val1">a</td>
    </tr>
        <tr>
        <td><input type="checkbox" id="chk_2"></td>
             <td id="val2">b</td>
    </tr>
            <tr>
        <td><input type="checkbox" id="chk_3"></td>
             <td id="val3">c</td>
    </tr>
                  <tr>
        <td><input type="checkbox" id="chk_4"></td>
             <td id="val4">d</td>
    </tr>
                        <tr>
        <td><input type="checkbox" id="chk_5"></td>
             <td id="val3">e</td>
    </tr>
</table>
                      <input type="button" id="btn_del" value="deleterow">

检查特定行后,我有一个删除行的按钮。

在delete中我做的是这样的:

$("#btn_del").click(function(){ 
   var checked = $("#table_sundry tr input:checked").size();
    var total = $("#table_sundry tr").size()-1; 
    var rowcnt =  document.getElementById("table_sundry").rows.length-1;  

    var flag = 0;
    if($("#chk_"+rowcnt).prop('checked') == true){ //if delete contains last row
        $("#table_sundry tr input:checked").parents('tr').remove();

         flag =1;
        //updateRowCount(flag);
    }
    else{ 
            $("#table_sundry tr input:checked").parents('tr').remove();
            //updateRowCount(flag);
        }
});

我需要将第二列的值存储为逗号分隔。 假设如果我删除第一列和最后一列,我应该在变量中得到 a,e

参考 fiddle : FIDDLE

通过进行小的更改,您将实现此目标

<table border="1" id="table_sundry">
    <tr>
         <td><input type="checkbox" value='a' id="chk_1"></td>
         <td id="val1">a</td>
    </tr>
    <tr>
         <td><input type="checkbox" value='b' id="chk_2"></td>
         <td id="val2">b</td>
    </tr>
        <tr>
         <td><input type="checkbox" value='c' id="chk_3"></td>
         <td id="val3">c</td>
    </tr>
              <tr>
      <td><input type="checkbox" value='d' id="chk_4"></td>
         <td id="val4">d</td>
</tr>
                    <tr>
    <td><input type="checkbox" value='e' id="chk_5"></td>
         <td id="val3">e</td>
</tr>

和jquery这样

    $(document).ready(function(){

    $("#btn_del").click(function(){ 
        var checked = $("#table_sundry tr input:checked").size();
        var total = $("#table_sundry tr").size()-1; 
        var values="";
        var rowcnt =  document.getElementById("table_sundry").rows.length-1;  

        var flag = 0;
        if($("#chk_"+rowcnt).prop('checked') == true){ //if delete contains last row
           console.log("ëe"+ $("#chk_"+rowcnt).prop('value'));
            $("#table_sundry tr input:checked").parents('tr').remove();

             flag =1;
            //updateRowCount(flag);
        }
        else{
            var vals=$("#table_sundry tr input:checked");
            for(var i=0;i<vals.length;i++){

                if(i>0)
                    values+=",";
                values+=vals[i].value;
            }
            console.log(values);
                $("#table_sundry tr input:checked").parents('tr').remove();
                //updateRowCount(flag);
            }
    });
});

在值变量中包含逗号分隔值

JS Fiddle: https://jsfiddle.net/7ft6qtja/2/

HTML

<table border="1" id="table_sundry">
    <tr>
        <td><input type="checkbox" id="chk_1"></td>
             <td id="val1">a</td>
    </tr>
        <tr>
        <td><input type="checkbox" id="chk_2"></td>
             <td id="val2">b</td>
    </tr>
            <tr>
        <td><input type="checkbox" id="chk_3"></td>
             <td id="val3">c</td>
    </tr>
                  <tr>
        <td><input type="checkbox" id="chk_4"></td>
             <td id="val4">d</td>
    </tr>
                        <tr>
        <td><input type="checkbox" id="chk_5"></td>
             <td id="val3">e</td>
    </tr>
</table>
                      <input type="button" id="btn_del" value="deleterow">

JavaScript

var values = [];
var csv = ""; // Store Comma separated values in this variable;

$(document).ready(function(){

  $("#btn_del").click(function(){ 

    var checkboxes = $("#table_sundry tr input:checked");

    if (checkboxes.length > 0) { 

      $.each(checkboxes, function (index, checkbox) {

        var tr = $(checkbox).closest("tr");

        var value = tr.find("td:eq(1)").html();

        values.push(value);

        csv = values.join();

        tr.remove();

      });

      alert(csv);

    }
    else {

      alert("Please select an item.");

    }

  });

});    

我们也可以用这个解决

 var value=[];
               var allValue;
               $('#btn_del').click(function (){
                   $("table tr :checkbox:checked").each(function (){
                     var attrValue=$(this).closest('tr').find("td:eq(1)").attr('id') ;
                     console.log('value is'+attrValue);
                     value.push($('#'+attrValue).html());
                     allValue=value.join();
                     alert('Values Are'+allValue);
                     if($(this).closest('tr').length>0){
                         $(this).closest('tr').remove();
                     }

                  });