0

javascript を使用してフォームに行を動的に追加できるフォームがありますが、新しい行の追加に関連付けられたボタンが「かさばり」すぎて、スクリプトには、削除するためにチェックする必要があるチェック ボックスの使用が既に組み込まれています。それに関連付けられているすべての行、ボタンの代わりにチェックボックスを使用して行を追加および削除できるかどうかを知りたいですか? スクリプトhttp://jsfiddle.net/2gPfn/9/の jsFiddle とコードは次のとおりです。

 function addRow(tableID) {
        var table = document.getElementById(tableID); 
        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);
        var colCount = table.rows[0].cells.length;
        for(var i=0; i<colCount; i++) {
            var newcell = row.insertCell(i);             
            newcell.innerHTML = table.rows[0].cells[i].innerHTML;
            newcell.children[0].name = newcell.children[0].name + rowCount;
            console.log(newcell.children[0].name);
            switch(newcell.childNodes[0].type) {
                case "text":
                        newcell.childNodes[0].value = "";
                        break;
                case "checkbox":
                        newcell.childNodes[0].checked = false;
                        break;
                case "select-one":
                        newcell.childNodes[0].selectedIndex = 0;
                        break;
            }
        }
    }

    function deleteRow(tableID) {
        try {
        var table = document.getElementById(tableID);
        var rowCount = table.rows.length;

        for(var i=0; i<rowCount; i++) {
            var row = table.rows[i];
            var chkbox = row.cells[0].childNodes[0];
            if(null !== chkbox && true === chkbox.checked) {
                if(rowCount <= 1) {
                    alert("Cannot delete all the rows.");
                    break;
                }
                table.deleteRow(i);
                rowCount--;
                i--;
            }


        }
        }catch(e) {
            alert(e);
        }
    }

基本的に私がやりたいことは、ユーザーがボックスをチェックする新しい行を追加し、新しい行が新しいチェックボックスで追加されることです。前のチェックボックスをオフにすると、行が削除されます。これは可能ですか?

4

1 に答える 1