JQuery заменить текст до первого экземпляра знака доллара - PullRequest
0 голосов
/ 06 октября 2011

У меня есть несколько вариантов доставки, и у меня есть код для их расчета.Тем не менее, мне нужен способ заменить все вхождения слов (иначе вычеркнуть), поэтому я просто остался с цифрами (цена).

<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 ]

2 голосов
/ 06 октября 2011

Вы хотите заменить все (. означает любой символ, * означает «соответствовать нулю или более раз»), за которым следует $ (но в регулярном выражении $ является специальным символом, поэтому вы должнысбежать с помощью \):

var isthePrice = $(this).text().replace(/.*\$/, '');
0 голосов
/ 06 октября 2011

Это должно работать для вас:

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