ホームページ  >  記事  >  ウェブフロントエンド  >  jquery:changeイベントがトリガーされない問題の解決策

jquery:changeイベントがトリガーされない問題の解決策

黄舟
黄舟オリジナル
2018-05-18 15:47:3410068ブラウズ

jquerychangeeventはトリガーされません
最初に2つの入力を定義し、目的はinput1の値をinput2にコピーすることです

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

コードは次のとおりです

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

jqueryの変更はトリガーされません
コードが間違っています。input1 が jquery によって直接割り当てられているためです。

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

この方法ではトリガーできません。
一時的な解決策は、

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

=============== ======= =====================
もっと良い方法を聞いてください!!!!!またはそれを解決する方法.... .

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

完全なコードを添付します......今のところ問題は解決していません

$(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" />
赋值测试

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

問題なくテストされました

$(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());
 
 });
 
})

質問の補足にある完全なコードを参照してください。テストでも値をコピーできません

あなたのロジックによれば、input1の値はjqueryによって直接割り当てられているため、2つの値は同じです。同時にinput2に値を割り当てるだけです

これは実際のプロジェクトの簡略化されたコードです。最初のモジュールは変更できないため、監視を通じてのみ解決できます

最初のモジュールは変更できないと言いましたが、その後あなたのコードで何が起こっていますか

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

この問題について心配する必要はありませんか?
これは一時的な解決策であり、元に戻す必要があります
他にこんな質問をする人はいないでしょう。値を直接割り当てる方法がわかりませんか?

rreee

input1 にまったく存在しないため、イベントをまったくキャプチャできません。
input1 の値が ajax を通じてロードされます。 Ajax コードではなくイベントを通じて input2 に変更します

変更するだけです

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

以上がjquery:changeイベントがトリガーされない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。