Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Увеличение количества (https://javascript.ru/forum/misc/28182-uvelichenie-kolichestva.html)

devote 02.07.2012 15:26

<img src="http://javascript.ru/forum/images/smilies/sad.gif" class="onclick" onclick="inp.value = ~~inp.value <= 1 ? 1 : ~~inp.value - 1"/>
<input tape="text" id="inp" value="1" class="input">
<img src="http://javascript.ru/forum/images/smilies/smile.gif" class="onclick" onclick="inp.value = ~~inp.value >= 5 ? 5 : ~~inp.value + 1"/>

ghrd 02.07.2012 15:33

Цитата:

Сообщение от lord2kim (Сообщение 185817)
<img src="-.jpg" class="onclick" onclick="inp.value = parseInt(inp.value) <= 1 ? '1' : parseInt(inp.value) - 1"/>

я так и сделал вообще то, я же написал выше, что надо () <= 1 :)

lord2kim 02.07.2012 15:40

Цитата:

Сообщение от ghrd (Сообщение 185819)
я так и сделал вообще то, я же написал выше, что надо () <= 1 :)

вы в последствии это дописали изначально у вас было написано как у меня <
при <= все работает как вы и хотели...

ghrd 02.07.2012 15:46

да, работает как я и хотел. я об этом написал и поправил Вас http://javascript.ru/forum/misc/2818...tml#post185814

bes 02.07.2012 17:25

<div id="myDiv">
<input type="button" value="-">
<input type="text" id="inp" size="1" value="1" disabled>
<input type="button" value="+"><br>
<input type="button" value="-">
<input type="text" id="inp" size="1" value="1" disabled>
<input type="button" value="+"><br>
<input type="button" value="-">
<input type="text" id="inp" size="1" value="1" disabled>
<input type="button" value="+"><br>
</div>

<script>
window.onload = function () {
  var myDiv = document.getElementById('myDiv');
  var inp;

  myDiv.onclick = function (e) {//onclick begin
    e = e || event
    var target = e.target || e.srcElement;
    if (target.value == '+') {
      inp = target.previousSibling.previousSibling;//previousElementSibling лучше, но не для IE<9
      if (parseInt(inp.value) < 5) {
        inp.value = parseInt(inp.value) + 1;
      }
    } else if (target.value == '-') {
      inp = target.nextSibling.nextSibling;//nextElementSibling лучше, но не для IE<9
      if (parseInt(inp.value) > 1) {
        inp.value = parseInt(inp.value) - 1;
      }
    }
  }//onclick end

}
</script>

bes 02.07.2012 17:44

Для хрома и оперы
<input type="number" value="1" min="1" max="5">

oneguy 02.07.2012 18:01

Цитата:

Сообщение от Kaba
function add(element){
    element.parentNode.getElementsByTagName('input')[0].value = parseInt(element.parentNode.getElementsByTagName('input')[0].value) + 1;
}

Если известно, что в свойстве value может быть только целое число с, возможно, пробелами вначале или вконце, то parseInt писать необязательно, можно так:
function add(element){
    element.parentNode.getElementsByTagName('input')[0].value++;
}

tomas_morgam 14.10.2013 13:29

Здравствуйте!
Скрипт
$(function() {
$('#exadd').click(function() {
$("#experson").clone().appendTo("#exdiv");
return false;
});
$("a[rel='exremove']").live('click', function(event) {
$(this).parent().remove();
});
});

Код
<div id="items">
<ul class="tabs">
<li><a href="#tabs-example">Профиль 1</a></li>
<li><a href="#tabs-left">Профиль 2</a></li>

<div id="exdiv">
<div id="experson">
<li><a href="#tabs-example" name="experson[]" >Профиль 3</a></li>
</div>
</div>

<li><a href="#" id="exadd" onclick="experson; inp.value = parseInt(inp.value) >= 5 ? '5' : (parseInt(inp.value) < 1 ? '1' : parseInt(inp.value) + 1)">+</a></li>
</ul>
</div>
<input type="text" id="inp" size="5" value="1">

Как исправить код, чтобы при нажатии на + добавлялся новый элемент таба с надписью "Профиль 1", "Профиль 2", "Профиль 3"... и т.д до "Профиль 20". Новые элементы создаются только с надписью "Профиль" без числа.

рони 14.10.2013 13:59

tomas_morgam,
заведите счётчик - досчитал до 20 return в click - в клоне ищите ссылку и меняйте текст как вам нужно добавляя значение счётчика.

tomas_morgam 14.10.2013 14:14

Подскажите, пожалуйста, где и на что заменить. Исходник взял с сайта, сам почти не знаю js. Счетчик не могу создать и вывести значение рядом с "Профиль".


Часовой пояс GMT +3, время: 13:03.