Passando $(this) para função - forma 2

HTML

<table>
  <tr>
     <td><input type="text" name="campo1" id="input[1]" data-id="1"></td>
     <td><input type="text" name="campo2" data-id="2"></td>
     <td><input type="text" name="campo3" data-id="3"></td>
     <td>
       <select name="campo4" data-id="4">
         <option></option>
         <option>Ola</option>
       </select>
     </td>
  </tr>
</table>
<p id="resultado"></p>

JavaScript

// não precisa passar $(this) como parâmetro da função
$("table").on("change", "select", nome_funcao);

function nome_funcao(){
    // imprime resultado$
    $('#input\\['+($(this).data("id")-3)+'\\]').hide();
    $("#resultado").html( "Input - ID: "+ $(this).data("id") );
    
    
    $('#input\\['+($(this).data("id")-3)+'\\]').val('foi bosta ').show();
    }