Domanda

Ho il seguente codice jQuery in atto sulla mia pagina:

var isChanged = false;
$(document).ready(function()
{
    $('.change').change(function() {
        isChanged = true;
    });
});

Sto usando un plugic che modifica il valore della casella di testo è collegata ad usare:

target.val('xxxx');

la casella di testo in html (da asp.net) è:

<input name="ctl00$cphHolder1$rptFlex$ctl01$txtLeftRank"
  type="text"
  value="52°"
  id="ctl00_cphHolder1_rptFlex_ctl01_txtLeftRank"
  class="change atiselector" />

Quando il valore della casella di testo viene modificato utilizzando il codice, il cambiamento non è sparando. Se digito nella casella di testo, i fuochi di cambiamento. Che cosa mi manca?

È stato utile?

Soluzione

Questo è il modo in cui funziona. Se è necessario il cambiamento di valore per attivare l'evento "cambiamento", si può esplicitamente farlo:

$('input#whatever').val('hi').change();

Altri suggerimenti

$('.change').change() scatterà l'evento. Basta cambiare gli attributi non genera l'evento.

DOM Level 2 Event Specifica :

  

L'evento cambiamento si verifica quando un controllo perde il focus e il suo valore è stato modificato dopo guadagnando attenzione.

Ciò significa che il cambiamento evento è stato progettato per sparare sui cambiamenti da interazione con l'utente. modifiche programmatiche non provoca questo evento per essere licenziato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top