JSFiddle - React, Tailwind, and code Playground

by Joe

HTML

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.2/css/bootstrapValidator.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.2/js/bootstrapValidator.min.js"></script>

<form id="contactForm">

  <input type="button" class="add_Row adRow" id="add_Row" value="Add Row">
  <table class="table table-bordered table-hover order-list" id="tab_logic" style="width:60% !important">

    <tbody>
      <tr id="fst_row">
        <td>
          <select class="form-control sel_sel" id="payacc" name="actname" for="actname">
            <option value="">Select TDS A/c name</option>
            <option value="1">TDS A/c 1</option>
            <option value="2">TDS A/c 2</option>
            <option value="3">TDS A/c 3</option>
          </select>
        </td>
        <td>
          <input type="text" class="form-control required" id="pay_narrat" name="narr" for="narr" data-toggle="modal" data-target="#narratModal" placeholder="Enter your text here" />

        </td>
      </tr>
    </tbody>
  </table>



  <!-- submit -->
  <div class="form-group col-4 vocSub" style="margin-bottom: 0px !important;">
    <div class="col-md-12 cashform_submit" id="">
      <input type="submit" class="btn add-btn submit-btn load cashmainBtn" id="cashSub" th:value="Submit" tabindex="1" value="Submit" />
    </div>
  </div>

</form>

CSS

.load {
  border-color: black;
  background-color: plum !important;
}

.load:hover {
  background-color: blue
}

JavaScript

$('#contactForm').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
  valid: 'glyphicon glyphicon-ok',
  invalid: 'glyphicon glyphicon-remove',
  validating: 'glyphicon glyphicon-refresh'
},
fields: {
  billtype: {
    validators: {
      notEmpty: {
        message: 'The name is required and cannot be empty'
      }
    }
  }
}

$(document).ready(function() {

  $('#contactForm').validate({
    rules: {
      accountName: {
        required: true
      },
      narr: {
        required: true
      },
      debit: {
        required: true
      },
      cashactcode: {
        required: true
      }
    },
    submitHandler: function(form) {
      alert('valid form');
      return false;
    }
  });
  $('#cashSub').on('click', function() {
    $('#contactForm').valid();
    alert('Not valid form');
    return false;
  });

});


$(document).ready(function() {

  $("#add_Row").on("click", function() {
    var counter = 0;
    var idVal = $('#tab_logic tr:last').find('td:first').html();
    var matches = idVal.match(/\d+/g);
    if (matches != null) {
      counter = Number(matches) + counter + 1;
    }
    var newRow = $("<tr>");
    var cols = "";
    cols += '<td><select class="form-control sel_sel status" id="accountName' + counter + '" name="accountName" required><option>Select cash account</option><option value="1">TDS A/c 1</option><option value="2">TDS A/c 2</option><option value="3">TDS A/c 3</option></select></td>'
    cols += '<td><input type="text" class="form-control required price" name="narr" placeholder="Enter your text here" id="acc_narrat' + counter + '" data-toggle="modal" data-target="#narratModal" onchange="unname(this.id, this.value)"/></td>';

    cols += '<td><button type="button" class="adRow ibtnDel" style="width:70%;">x</button></a></td>';

    newRow.append(cols);


    var defVal = $("select[name=acctname]").find(":selected").val();
    if (defVal) {
     ...