JavaScript: как я могу передать значение радио в другую функцию? - PullRequest
0 голосов
/ 15 октября 2011

не может получить переменную taxRate, которая будет видна в функции, вызываемой следующей формой. blargh! : P

вот HTML:

<form name="incomeRange" id="incomeRange" title="Taxable Income Ranges">
  <legend>Income Range:</legend>            
    <p name="incomeTable" id="incomeTable">
      please make a selexion: <br>
      <label>
        <input type="radio" name="B" id="B_1" value="200" onChange="var taxRate = (this.value);">200
  </label>
</p>
</form>
<form name="userAmount" id="userAmount">
  <p>Target Amount to Spend:
    <input type="text" name="userTargetAmount" id="userTargetAmount" onKeyUp="doTheMath(this.value);">
  </p>
</form>

и вызываемая функция:

function doTheMath(amount)
{
  var targAmt = document.getElementById("targetAmount");
  var taxAmt = document.getElementById("taxAmount");
  var totTaxEarn = document.getElementById("totalTaxedEarnings");
  var taxRt = document.getElementById("taxRate");

  console.log(amount);
  console.log(taxRate);

  if (!isNaN(amount))
  {
    targAmt.innerHTML = amount;
    totTaxEarn.innerHTML = amount / taxRate;
    taxRt.innerHTML = taxRate;
    taxAmt.innerHTML = (amount / taxRate) - amount;
  }
}

угадайте, где он взрывается? taxRate не виден внутри этой функции. я думал, что, установив его с помощью onChange переключателя, это сделает его доступным ... но я думаю, что нет. как я могу получить это значение в переменную так, чтобы я мог использоваться в функции doTheMath();?

спасибо за ваше время. srsly. :)

WR!

PS: и на этот раз я вряд ли пойму это сам ... я потратил три часа на этот ...: P

Ответы [ 2 ]

0 голосов
/ 15 октября 2011

Пропустите обработчик 'onchange' и просто получите текущее выбранное значение в doTheMath.Я бы сделал это с помощью jQuery следующим образом:

$('radio[name=B]:checked').val()
0 голосов
/ 15 октября 2011

Проблема в следующем коде:

    <input type="radio" name="B" id="B_1" value="200" onChange="var taxRate = (this.value);">200

taxRate объявлен с ключевым словом var, что делает его видимым только для события onChange.Пожалуйста, удалите ключевое слово "var".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...