JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<form>
  <div>
    <input type="text">
  </div>
  
  <div>
    <select name="" id=""></select>
  </div>
  
  <div>
    <input type="text">
  </div>
  
    <div>
    <input type="text">
  </div>
  
  <div>
    <select name="" id=""></select>
  </div>
  
  <div>
    <input type="text">
  </div>
  
  <div style="width:100%;">
    <input type="submit" value="Submit button">
  </div>
</form>

CSS

div
{
  width:25%;
  float:left;
  margin-bottom:20px;
}

input, select
{
  width:85%;
}

input[type="submit"]
{
  width:auto;
}

JavaScript

$(document).ready(function(){
  let columns_number=4; // static for me, but you can send/get it via data-columns="4" as form attribute

  $('form').find('input, select, textarea').each(function(){
      $(this).attr('tabindex', $(this).attr('type')==='submit' ? 999 : $(this).closest('div').index()%columns_number+1);
  });
});