私はjQueryを使用してスパン(span1
と呼ばれます)に計算を表示したいのですが、span1
というテキストが変更されたときに値を計算して他のスパン( `span2、span3、...と呼ばれます)。スパンのテキスト変更をどのように処理できますか?jQuery:スパンの変更テキストを処理する方法
おかげ
私はjQueryを使用してスパン(span1
と呼ばれます)に計算を表示したいのですが、span1
というテキストが変更されたときに値を計算して他のスパン( `span2、span3、...と呼ばれます)。スパンのテキスト変更をどのように処理できますか?jQuery:スパンの変更テキストを処理する方法
おかげ
あなたは他人のテキストを変更するSPAN1のテキストを変更する機能を使用することができます。
回避策として、実際にchange
イベントが必要な場合は、テキストを1に拡張しないでください。入力変数をjQueryに代入する代わりに、変更イベントを作成してSPAN1のテキストは...代わりにそうように、このように変更イベントを発射、入力変数の値を変更します。
var spanChange = $("<input />");
function someFuncToCalculateAndSetTextForSpan1() {
// do work
spanChange.val($newText).change();
};
$(function() {
spanChange.change(function(e) {
var $val = $(this).val(),
$newVal = some*calc-$val;
$("#span1").text($val);
$("#spanWhatever").text($newVal);
});
});
私は本当にこれが「回避策」を感じますが、簡単な変更を作成するためのいくつかの側面に有用ながら、イベントは非常に過度に拡張されているため、スパン1を変更すると同時に他のスパンに変更を加えることをお勧めします。
スパンにはデフォルトで「変更」イベントがありません。ただし、このイベントを手動で追加することはできます。
スパンの変更イベントを聞きます。
$("#span1").on('change',function(){
//Do calculation and change value of other span2,span3 here
$("#span2").text('calculated value');
});
そして、どこにspan1のテキストを変更しますか。変更イベントを手動でトリガーします。
$("#span1").text('test').trigger('change');
IEで試しましたか? Chromeで動作していますが、IEで動作していません。 –
@SiddiqueMahsud:IEは、すべて異なる動作をする多くのバージョンがあります。 IEの意味は、** all **の意味ですか?それでは、すべての定義は何ですか? 「エッジ」を含む? – Kukeltje
その時私はIE 11を使っていました。ありがとう –
それは動作しません – Arian
「'このイベントは要素、
あなたがこれを処理する必要があります。 – Alexander