10

ページに以下のコードがあります。2 つのテキストフィールドのいずれかが変更された場合、両方の値で関数が呼び出されます。
コードは問題なく動作しますが、効率を考えて、コードを 1 つのブロックにまとめることができないかと考えていました。

$('#popfrom').change(function(){
    var popfrom = $('#popfrom').val();
    var poptill = $('#poptill').val();

    defineDate(popfrom, poptill);
});

$('#poptill').change(function(){
    var popfrom = $('#popfrom').val();
    var poptill = $('#poptill').val();

    defineDate(popfrom, poptill);
});
4

3 に答える 3

26

JQuery では、カンマ区切りで複数のセレクターを使用できます。

$('#popfrom, #poptill').change(function(){ ...

複数の要素を操作する必要がある場合は、多くの場合、代わりにクラス名を使用する方が簡単です。入力に「popfields」のクラスを追加すると、次のように簡単に使用できます。

$('.popfields').change(function(){ ...
于 2013-03-11T15:06:47.310 に答える
4

それらを同じクラスに追加してから実行します。

$('.popClass').change(function(){
    var popfrom = $('#popfrom').val();
    var poptill = $('#poptill').val();

    defineDate(popfrom, poptill);
});
于 2013-03-11T15:07:02.663 に答える
0

両方のフィールドに同じクラスを追加し、jQuery '.selector' を使用してそれらを選択します

$('.classOfTheTextFiled').change(function(){ ....

:)

于 2013-03-11T15:09:26.060 に答える