Maison  >  Article  >  interface Web  >  jquery : solution au problème que l'événement de changement ne déclenche pas

jquery : solution au problème que l'événement de changement ne déclenche pas

黄舟
黄舟original
2018-05-18 15:47:3410087parcourir

jquerychangeÉvénementProblème non déclenché
Définissez d'abord 2 entrées, le but est de copier la valeur de input1 vers input2

<input name="input1" />
<input name="input2" />

Le code est le suivant

$(":input[name=&#39;input1&#39;]").bind(&#39;change focus blur&#39;, function() {
$(":input[name=&#39;input2&#39;]").val($(this).val());
});

le changement de jquery n'est pas déclenché,
Ce n'est pas parce que le code est faux, c'est parce que input1 est directement assigné par jquery,

$(":input[name=&#39;input1&#39;]").val(&#39;AAAAAA&#39;);

Cela ne le déclenchera pas.
La solution temporaire est,

$(":input[name='input1']").focus();
$(":input[name=&#39;input1&#39;]").val(&#39;AAAAAA&#39;);
$(":input[name='input1']").blur();

================= ======= ===================
Veuillez demander une meilleure façon !!!!! Ou comment le résoudre..... .

========================================= ==== ========

Ci-joint le code complet... Le problème n'a pas encore été résolu

$(function() {
$(":input[name=&#39;input1&#39;]").bind(&#39;change focus blur&#39;, function() {
$(":input[name=&#39;input2&#39;]").val($(this).val());
});
});
var setvalue = function() {
$(":input[name=&#39;input1&#39;]").val(&#39;AAAAAA&#39;);
}
<input name="input1" />
<input name="input2" />
赋值测试

===== = ===============================================

Il a été testé et il n'y a pas de problème

$(function(){
 
 $(":input[name=&#39;bbb&#39;]").val(&#39;aAAAAAAAA&#39;);
 
 $(":input[name=&#39;aaa&#39;]").bind("change focus blur",function(){
 
  alert($(this).val());
 
  $(":input[name=&#39;bbb&#39;]").val($(this).val());
 
 });
 
})

Veuillez consulter le code complet dans le supplément de la question. Vous ne pouvez pas copier la valeur dans ce test

La valeur de input1 est jquery directement Affectation, selon votre logique, les deux valeurs​​sont identiques, puis attribuez une valeur à input2 en même temps

Ceci est un code simplifié. . Dans le projet actuel, le premier module ne peut pas être modifié, il ne peut donc être résolu que par la surveillance

Vous avez dit que vous ne pouvez pas modifier le premier module, alors que se passe-t-il avec votre code

$(":input[name='input1']").focus();
$(":input[name=&#39;input1&#39;]").val(&#39;AAAAAA&#39;);//这一段相当于你说的第一个模块,既然你能上下加上两行代码,那为何不直接
$(":input[name='input2']").val('AAAAAA');
$(":input[name='input1']").blur();

Vous ne pouvez pas vous inquiéter de ce problème ?
Il s'agit d'une solution temporaire et doit être modifiée
Sinon, pourquoi poserais-je cette question !!! savez-vous comment attribuer des valeurs directement ?

$("input").first().keyup(function(){
$(this).next().val($(this).val());
});

L'événement ne peut pas être capturé du tout, car le clavier ne sera pas du tout appuyé sur input1, la valeur dans
input1 est chargée via ajax. , et maintenant je veux le copier dans input2 via des événements, au lieu de

juste changer

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn