jquery attr не работает

313
30 сентября 2017, 22:18
var plans = {
  'plan1' : {
    Days: 80,
    percentPerDay: 0.02,
    minDeposit: 10,
    maxDeposit1: 99
  },
  'plan2' : {
    Days: 90,
    percentPerDay: 0.03,
    minDeposit: 100,
    maxDeposit1: 249
  },
  'plan3' : {
    Days: 100,
    percentPerDay: 0.035,
    minDeposit: 250,
    maxDeposit1: 499
  },
  'plan4' : {
    Days: 120,
    percentPerDay: 0.04,
    minDeposit: 500,
    maxDeposit1: 1000
  },
}
function setMinValue(plansArr, numberOfPlan) {
  var number = 'plan' + numberOfPlan;
  var plan = plansArr[number];
  console.log( plan.minDeposit); // 10
  var depositMin = $('#deposit').attr('min', plan.minDeposit);
  console.log( depositMin );
}
setMinValue(plans, 1);

            <div class="calc-center">
                <label for="select-plan">Выберите план</label>
                <select id="select-plan">
                    <option value="1">Crypt 1</option>
                    <option value="2">Crypt 2</option>
                    <option value="3">Crypt 3</option>
                    <option value="4">Crypt 4</option>
                </select>
                <label for="countday">Количество дней</label>
                <input type="text" name="amount_days" id="countday" readonly>
                <label for="deposit">Сумма депозита</label>
                <input type="number" name="deposit_amount" id="deposit" min="0" max="10000" step="1" autocomplete="off">
                <fieldset>
                    <legend>Вы получите прибыль</legend>
                    <p>Дневная прибыль по тарифу</p>
                    <p><span id="profit-day">0.0000043000</span><span> $</span></p>
                    <p>Общая прибыль</p>
                    <p><span id="total-profit">0.0000043000</span><span> $</span></p>
                    <p>
                        <a href="/registration/" class="btn btn_invest">Инвестировать</a>
                    </p>
                </fieldset>
            </div>
Answer 1

Думаю вы перепутали геттер и сеттер. jQuery.attr(name, val) - это сеттер и он возвращает jQuery объект. Чтобы получить значение параметра необходимо вызывать этот метод с одним параметром jQuery.attr(name)

Answer 2

В более новых Jquery рекомендуется использовать prop. а attr(name, val); это сеттер который устанавливает значение

var plans = { 
  'plan1': { 
    Days: 80, 
    percentPerDay: 0.02, 
    minDeposit: 10, 
    maxDeposit1: 99 
  }, 
  'plan2': { 
    Days: 90, 
    percentPerDay: 0.03, 
    minDeposit: 100, 
    maxDeposit1: 249 
  }, 
  'plan3': { 
    Days: 100, 
    percentPerDay: 0.035, 
    minDeposit: 250, 
    maxDeposit1: 499 
  }, 
  'plan4': { 
    Days: 120, 
    percentPerDay: 0.04, 
    minDeposit: 500, 
    maxDeposit1: 1000 
  }, 
} 
 
function setMinValue(plansArr, numberOfPlan) { 
  var number = 'plan' + numberOfPlan; 
 
  var plan = plansArr[number]; 
  console.log(plan.minDeposit); // 10 
  var depositMin = $('#deposit').prop('min'); 
  console.log(depositMin); 
} 
 
setMinValue(plans, 1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="calc-center"> 
  <label for="select-plan">Выберите план</label> 
  <select id="select-plan"> 
                    <option value="1">Crypt 1</option> 
                    <option value="2">Crypt 2</option> 
                    <option value="3">Crypt 3</option> 
                    <option value="4">Crypt 4</option> 
                </select> 
  <label for="countday">Количество дней</label> 
  <input type="text" name="amount_days" id="countday" readonly> 
  <label for="deposit">Сумма депозита</label> 
  <input type="number" name="deposit_amount" id="deposit" min="0" max="10000" step="1" autocomplete="off"> 
  <fieldset> 
    <legend>Вы получите прибыль</legend> 
    <p>Дневная прибыль по тарифу</p> 
    <p><span id="profit-day">0.0000043000</span><span> $</span></p> 
    <p>Общая прибыль</p> 
    <p><span id="total-profit">0.0000043000</span><span> $</span></p> 
    <p> 
      <a href="/registration/" class="btn btn_invest">Инвестировать</a> 
    </p> 
  </fieldset> 
</div>

Answer 3

надо так

var depositMin = $('#deposit').attr('min');

READ ALSO
Повторяющиеся медиа-запросы в jQuery

Повторяющиеся медиа-запросы в jQuery

Есть скрипт, который выполняется при разрешении окна 992px и меньшеНо дело в том, что, например, если разрешение окна 1200, а затем мы сжали браузер...

340
Как переписать методы jQuery?

Как переписать методы jQuery?

У jQuery есть методы text и html, которые оперируют с DOM, но не проверяют что значения одинаковыеИ записывают в DOM то же самое

308
jquery подставить нужные значения

jquery подставить нужные значения

нужно значение s td_art nomob подставить в ссылку href="/search/?find= " (где стоит равенство)

284