2017-10-11 10 views
0

多分これのための解決策はありません。jqueryで2つの特定の正規表現を一致させる

$("input[id^='pricechange']").on("input", function() { 
    if (this.value != $("input[id^='rate']")) { 

    } 
}); 

私は、セルに入力を持つテーブルを持っています。これは動的であり、任意の量の行を持つことができます。私は正規表現を使用してフィールドへの変更を取得しています:pricechange123pricechange000pricechange999など。ユーザーが値を入力すると、レート列に付随する値でそれを参照する必要があります:rate123rate000、およびrate999。現時点では$("input[id^='rate']")の料金が適用されます。

どのIDが取得されたかを知る方法はありますか?

答えて

1

その入力ハンドラの内部では、それはちょうどthis.idです。

$("input[id^='pricechange']").on("input", function() { 
 
    console.log(this.id); 
 

 
    // extract the numeric part: 
 
    var myIdNumber = this.id.replace('pricechange', ''); 
 
    // so you can use it on the #rate123 element similarly: 
 
    if (this.value != $('#rate' + myIdNumber).value) { 
 
    // ... 
 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="pricechange1"> 
 
<input id="pricechange2">

+0

私は馬鹿です。ありがとうございました!私はそれが許せば私は受け入れるだろう! :) –

+0

まったくそうではない場合があります。時には、最も難しいのが最も簡単な問題です。 (混乱の潜在的な原因の1つは、ここでは正規表現を使用していないということです.JQueryのアトリビュートはstarts-withセレクタです。 –

関連する問題