2011-10-06 55 views
0

我有很多運輸選項,我有代碼來計算它們。但是,我需要一種方法來替換單詞的所有實例(aka去掉),所以我只剩下數字(價格)。jQuery將文本替換爲美元符號的第一個實例

<select name="ShippingSpeedChoice" onchange="this.form.submit();"> 
<option value="103">In-store Pickup </option> 
<option value="701">UPS Ground $9.90 </option> 
<option value="703">UPS 3Day Select® $30.88 </option> 
</select> 

所以我想剝離選項值701的一切,所以我只剩下9.90。我也希望價值703發生同樣的事情,所以我只剩下30.88,而不是爲每個函數寫一個函數。目前我只有選項值701的功能,但我希望它是動態的,可以完成...可能與正則表達式,我不擅長?

$("option:selected").each(function() { 
var isthePrice = $(this).text().replace("UPS Ground $", ""); } 

回答

2

要替換的一切(.指任何字符,*手段「匹配零次或多次」),接着$(但在正則表達式的$是一個特殊字符,所以你必須用逃生呢\):

var isthePrice = $(this).text().replace(/.*\$/, ''); 
+0

這不會對日工作e「店內取貨」選項。 –

+0

OP沒有跡象表明他想用該選項做任何特殊的事情。但是你說得對,因爲那裏沒有'$'。 –

+0

謝謝你們,這對我有幫助。很好的解釋。 – ToddN

0

這應該爲你工作:

$("option:selected").each(function() { 
    var isthePrice = $(this).text().replace(/^[^$]*/, ""); 
}