Change data from an input created dynamically?

0

I'm trying to change the data in an input field that I dynamically create through jquery.

I tried with:

$(document).on('keyup', '.albaran', function () {
   var albaran = $(this).val();
   $.ajax({
      type: "POST",
      url: '@Url.Action("AlbaranValidar", "Inicio")',
      data: { 'Albaran': albaran },
      success: function (data) {
      $(this).data('error', data);
    },
    error: function (r) {

      alert("Error del servidor");
    }
  });
});

I've been trying with

$(this, '.albaran').data('error', data);

But it would have to be done with an on () since it is created dynamically

    
asked by Alcides Salazar 15.06.2017 в 17:45
source

1 answer

0

Try this

$(document).on('keyup', '.albaran', function () {
    var input = $(this);
    var albaran = input.val();
    $.ajax({
       type: "POST",
       url: '@Url.Action("AlbaranValidar", "Inicio")',
       data: { 'Albaran': albaran },
       success: function (data) {
           input.data('error', data);
      },
      error: function (r) {
          alert("Error del servidor");
      }
  });
});

It does not matter that your element is created dynamically, when you enter this function JS already knows in advance that your element exists, so you can only assign it using the function data()

    
answered by 15.06.2017 в 18:09