JSFiddle - React, Tailwind, and code Playground

HTML

<form method="post" action="actionhere">
    <div id='clone_me'>
        <div> <span id="title">Line 1</span>

            <div>
                <input type='checkbox' name='ck_1' data-id="1" />
            </div>
            <div>
                <input type='text' class='tx1' name='tx[1][]' />
                <input type='text' class='tx1' name='tx[1][]' />
                <input type='text' class='tx1' name='tx[1][]' />
                <input type='text' class='tx1' name='tx[1][]' />
            </div>
        </div>
        <div> <span id="title">Line 2</span>

            <div>
                <input type='checkbox' name='ck_2' data-id="2" />
            </div>
            <div>
                <input type='text' class='tx2' name='tx[2][]' />
                <input type='text' class='tx2' name='tx[2][]' />
                <input type='text' class='tx2' name='tx[2][]' />
                <input type='text' class='tx2' name='tx[2][]' />
            </div>
        </div>
    </div>
    <input type='submit' name='submit' value='Submit' />
    <input type="button" value="Add row" class="addrow" />
</form>

JavaScript

$(document).ready(function () {
    $('.addrow').click(function () {
        var n = $("#clone_me>div").length;
        var new_n = n + 1;
        var new_line = $('#clone_me div:first').clone().append();
        $("span#title", new_line).text("Line " + new_n + " ");
        $("input#ck_1", new_line).attr("name", "ck_" + new_n);
          $("input#ck_1", new_line).attr("data-id",  new_n);
        $("input#ck_1", new_line).attr("id", "ck_" + new_n);
        $("input.tx1", new_line).attr("name", "tx[" + new_n + "][]");
        $("input.tx1", new_line).attr("class", "tx" + new_n);
        
        new_line.appendTo('#clone_me');

    });
    $('input[type="checkbox"]').click(function () {
        var self = $(this);
        var checkboxId = self.data('id');
        var checkboxChecked = self.is(":checked");

        /* jQuery < 1.9 */
        if (checkboxChecked) {
            $('.tx' + checkboxId).attr('readonly', 'readonly');
        } else {
            $('.tx' + checkboxId).removeAttr('readonly');
        }

        /* jQuery 1.9+ */
        $('.tx' + checkboxId).prop('readonly', checkboxChecked);
    });

});