2017-10-11 25 views
0

也許對此沒有解決方案。在jquery中匹配2個具體的正則表達式

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

    } 
}); 

我有一個在單元格中有輸入的表,它是動態的,可以有任意數量的行。我正在使用正則表達式來獲取對字段的任何更改:pricechange123pricechange000,pricechange999等。用戶輸入一個值後,需要將它與其在費率列中的伴隨值進行交叉引用:rate123,rate000rate999。截至目前$("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

一點都不,有時候是最容易發現的最容易的問題。 (一個潛在的混淆之處是你沒有在這裏使用正則表達式,只是jQuery屬性 - 開始 - 與選擇器 - 如果你正在查找正則表達式的答案,會導致你在錯誤的方向) –