2011-10-06 5 views
0

나는 여러 가지 배송 옵션을 갖고 있으며 계산할 코드가 있습니다. 그러나, 나는 단어의 모든 인스턴스 (일명 스트립 아웃)를 대체 할 수있는 방법이 필요하므로 숫자 (가격) 만 남았습니다.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

당신은 모든 것을 대체 할 (.는 모든 문자를 의미 * 수단 "경기를 0 번 이상") 뒤에 $ (당신이 그것을 탈출해야하므로하지만 정규식에 $는 특수 문자 \) :

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

e "매장에서 픽업"옵션. –

+0

OP에서 특별한 옵션을 원한다는 표시는 없습니다. 그러나'$ '가 없기 때문에 일치하지 않을 것입니다. –

+0

감사합니다 얘들 아, 이건 나를 위해 해냈어. 좋은 설명. 위의 게시물에 대해서는 – ToddN

0

이 당신을 위해 작동합니다 : 일에 대해 작동하지 않습니다

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