jQuery textbox.val ('xxxx') não está causando alterações no disparo?
Pergunta
Eu tenho o seguinte código jQuery em vigor na minha página:
var isChanged = false;
$(document).ready(function()
{
$('.change').change(function() {
isChanged = true;
});
});
Estou usando um pluic que modifica o valor da caixa de texto em que está vinculado ao uso:
target.val('xxxx');
A caixa de texto no HTML (do ASP.NET) é:
<input name="ctl00$cphHolder1$rptFlex$ctl01$txtLeftRank"
type="text"
value="52°"
id="ctl00_cphHolder1_rptFlex_ctl01_txtLeftRank"
class="change atiselector" />
Quando o valor da caixa de texto é alterado usando o código, a alteração não está disparando. Se eu digitar a caixa de texto, a mudança incêndio. o que estou perdendo?
Solução
É assim que funciona. Se você precisar da mudança de valor para acionar o evento "Change", poderá fazê -lo explicitamente:
$('input#whatever').val('hi').change();
Outras dicas
$('.change').change()
irá demitir o evento. Apenas mudar os atributos não dispara o evento.
De acordo com Especificação de evento de nível 2 DOM:
O evento de mudança ocorre quando um controle perde o foco de entrada e seu valor foi modificado desde a obtenção de foco.
Isso significa que o evento de mudança foi projetado para disparar na mudança pela interação do usuário. Alterações programatológicas não fazem com que esse evento seja demitido.