Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2015, 19:27
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

Изменение value при выборе radio кнопки
Подскажите как сделать что бы когда input radio выбран его value становилось 1 а когда не выбран 0?
С checkbox'ом у меня получилось
<input type="radio" name="ves" id="ves1" value="0"  onchange="addIt(this.value = this.checked ? 10 : 0)">

А с радио кнопкой он меняется 1 раз, и больше не меняется.
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2015, 19:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В этом нет нужды. Просто где нужно делай непосредственно проверку if (this.checked) вместо if (this.value == "1")
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2015, 19:39
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

Забыл сказать что я полный ноль, в js и кое как учусь, не могли бы вы поподробнее рассказать как это сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 26.01.2015, 19:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А как ты хочешь сделать это со сменой value? Код покажи.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 26.01.2015, 19:50
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

Вот код
<form action="" method="post" id="frm" onsubmit="return checkForm()"> 
<div id="mydiv" style="display:block;">
					<div id="mydiv-block">
					<input type="radio" name="ves" id="ves1" value="0" class="test"
					onchange="addIt(this.value = this.checked ? 10 : 0)">
					<label for="ves1">от 1кг до 3кг</label>
					</div>
					
					<div id="mydiv-block">
					<input type="radio" name="ves" id="ves2" value="0" class="test"
					onchange="addIt(this.value = this.checked ? 100 : 0)">
					<label for="ves2">от 3кг до 5кг</label>
					</div>
					
					<div id="mydiv-block">
					<input type="radio" name="ves" id="ves3" value="0" class="test"
					onchange="addIt(this.value = this.checked ? 1000 : 0)">
					<label for="ves3">от 5кг до 15кг</label>
				    </div>
				</div>
				 <label for="price" class="name-mail-php">Стоимость товара, рос. руб.:<span>*</span></label><br>
            <input type="number" id="price" name="price" maxlength="300" required onchange="addIt()" ><br>
            <label for="pricedeliv" class="name-mail-php">Стоимость комиссии за доставку в РБ, рос. руб.:</label><br>
            <input type="number" id="pricedeliv" name="pricedeliv"  maxlength="300" required readonly onkeyup="addIt()"><br><span2>10% от стоимости заказа</span2>
				<div id="maineu-dost">
				Стоимость доставки:<input type="number" id="dostavkas" value="0" readonly>руб
				</div>
				<input type="number" id="itog" name="789" maxlength="300" readonly><br>
				</form>
<script type="text/javascript">
<!--
function addIt() { 
var value1 = parseInt(document.getElementById("ves1").value);
var value2 = parseInt(document.getElementById("ves2").value);
var value3 = parseInt(document.getElementById("ves3").value); 
var value4 = parseInt(document.getElementById("price").value);
var value5 = parseInt(document.getElementById("pricedeliv").value);
var value6 = parseInt(document.getElementById("dostavkas").value);
document.getElementById("pricedeliv").value = 0.1 * value4;
document.getElementById("itog").value = value1 + value2 + value3 + value4 + value5 + value6;
document.getElementById("dostavkas").value = value1 + value2 + value3;
}
// -->
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2015, 19:52
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

Знаю что кое где id повторяются, но это никак ведь не влияет на то что мне нужно
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2015, 20:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<form action="" method="post" id="frm" onsubmit="return checkForm()">
<div id="mydiv" style="display:block;">
        <div id="mydiv-block">
        <input type="radio" name="weight" id="ves1" value="10" class="test">
        <label for="ves1">от 1кг до 3кг</label>
        </div>
         
        <div id="mydiv-block">
        <input type="radio" name="weight" id="ves2" value="100" class="test">
        <label for="ves2">от 3кг до 5кг</label>
        </div>
         
        <div id="mydiv-block">
        <input type="radio" name="weight" id="ves3" value="1000" class="test">
        <label for="ves3">от 5кг до 15кг</label>
        </div>
    </div>
     <label for="price" class="name-mail-php">Стоимость товара, рос. руб.:<span>*</span></label><br>
<input type="number" id="price" name="price" maxlength="300" required><br>
<label for="pricedeliv" class="name-mail-php">Стоимость комиссии за доставку в РБ, рос. руб.:</label><br>
<input type="number" id="pricedeliv" name="pricedeliv"  maxlength="300" required readonly><br><span2>10% от стоимости заказа</span2>
    <div id="maineu-dost">
    Стоимость доставки:<input type="number" id="dostavkas" value="0" readonly>руб
    </div>
    <input type="number" id="itog" name="789" maxlength="300" readonly><br>
    </form>
<script>
(function(){
	var form = document.forms.frm;
	form.onchange = form.oninput = calcTotal;
	function calcTotal() {
		var weight = 0;
		for ( var i = 0; i < form.weight.length; i++) {
			weight += form.weight[i].checked * +form.weight[i].value;
		}
		var price = +form.price.value;
		var deliveryPrice = +form.pricedeliv.value;
		var huyPoimiChe = +form.dostavkas.value;

		form.pricedeliv.value = 0.1 * price;
		form.itog.value = weight + price + deliveryPrice + huyPoimiChe;
		form.dostavkas.value = weight;
	}
})();
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 26.01.2015, 20:21
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

Спасибо огромное, но смотрите если переключать вес с 3 на 2 пункт то конечная цифра не меняется
Ответить с цитированием
  #9 (permalink)  
Старый 26.01.2015, 20:27
Интересующийся
Отправить личное сообщение для DarkMilkMan Посмотреть профиль Найти все сообщения от DarkMilkMan
 
Регистрация: 19.01.2015
Сообщений: 13

То есть нужно ещё сделать так, что бы при выборе другого пункта, прошлый обнулялся
Ответить с цитированием
  #10 (permalink)  
Старый 26.01.2015, 20:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от DarkMilkMan
конечная цифра не меняется
Я просто переписал твой код в другом виде. Логика расчетов сохранена.
У тебя явно ошибка - ты в расчетах используешь результаты предыдущего рассчета:
Сообщение от DarkMilkMan
document.getElementById("itog").value = value1 + value2 + value3 + value4 + value5 + value6;
Тут value5 и value6 - значения из инпутов, которые были вычислены при предыдущем расчете.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Такое возможно? При выборе radio надо чтобы менялось значение в input Stas111111 Общие вопросы Javascript 11 23.05.2014 00:41
Как вызвать событие уже отмеченной radio кнопки? cha0s jQuery 1 09.05.2014 13:48
добавлять type="text" при выборе option ignoramus Элементы интерфейса 5 29.04.2014 15:22
При нажатии граница кнопки выделяется оранжевым alexan0308 Мобильный JavaScript 3 12.09.2013 19:37
Изменения значения select при выборе radio denikus Общие вопросы Javascript 2 18.05.2013 14:38