JQuery проверить, если параметр val и выбрано, сделать математику и предупредить - PullRequest
3 голосов
/ 06 октября 2011

Мне нужно сделать некоторые расчеты, основанные на вариантах доставки. Для этого примера я просто хочу alert() новую цену. Я хочу добавить 6% к выбранному заряду и alert() это. Я не могу действительно изменить приведенный ниже HTML, но он добавляет selected, если выбран один из параметров:

<select name="ShippingSpeedChoice" onchange="this.form.submit();">
<option value="0">PLEASE SELECT</option>
<option value="701">UPS Ground $9.90 </option>
<option value="703">UPS 3Day Select® $30.88 </option>
</select>

Таким образом, если выбрано значение параметра 701, я хотел бы получить предупреждение, которое отображает в сумме 9,90 * 1,06 .... 10,49. В настоящее время он отображает его независимо от того, что выбрано. (т. е. <option value="703" selected>UPS 3Day Select® $30.88 </option> для этого появится всплывающее предупреждение, и оно не должно быть). Есть идеи?

$(document).ready(function() {
  if ($("option[value='701']:selected")) {
    $("option[value='701']").each(function () {                                           
        var isthePrice = $(this).text().replace("UPS Ground $", "");
        var parsedShip = parseFloat(isthePrice);
        var doMath = parsedShip * 1.06;
        alert(doMath.toFixed(2) + " "); });
  }                        
});

1 Ответ

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

Вы спрашиваете, выбрано ли значение в момент готовности DOM. Вам нужно привязать обработчик событий, чтобы запускать скрипт при каждом изменении параметра.

$(document).ready(function() {
    $("select").bind("change", function(){
      if ($("option[value='701']:selected", this)) {
        $("option[value='701']").each(function () {                                           
            var isthePrice = $(this).text().replace("UPS Ground $", "");
            var parsedShip = parseFloat(isthePrice);
            var doMath = parsedShip * 1.06;
            alert(doMath.toFixed(2) + " "); });
      }
    });                     
});

Является ли ваша отправная точка, хотя вам, возможно, потребуется более конкретная информация о параметре, используемом в среднем случае.

...