Maison > Article > interface Web > jquery : solution au problème que l'événement de changement ne déclenche pas
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='input1']").bind('change focus blur', function() { $(":input[name='input2']").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='input1']").val('AAAAAA');
Cela ne le déclenchera pas.
La solution temporaire est,
$(":input[name='input1']").focus(); $(":input[name='input1']").val('AAAAAA'); $(":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='input1']").bind('change focus blur', function() { $(":input[name='input2']").val($(this).val()); }); }); var setvalue = function() { $(":input[name='input1']").val('AAAAAA'); } <input name="input1" /> <input name="input2" /> 赋值测试
===== = ===============================================
Il a été testé et il n'y a pas de problème
$(function(){ $(":input[name='bbb']").val('aAAAAAAAA'); $(":input[name='aaa']").bind("change focus blur",function(){ alert($(this).val()); $(":input[name='bbb']").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 valeurssont 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='input1']").val('AAAAAA');//这一段相当于你说的第一个模块,既然你能上下加上两行代码,那为何不直接 $(":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!