Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2013, 23:12
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 195

checkbox check если значение input
Подскажите есть js который вставляет значения value в input в зависимости от checkbox checked или нет.

Вот такой:
<input id="tata" type="checkbox"> Чекбокс 
<input id="toto" type="text" value="">
 <script type="text/javascript">
	document.getElementById('tata').onclick = function () {
	  if (this.checked) document.getElementById('toto').value = 1;  else document.getElementById('toto').value = '';
	}
	</script>



мне надо добавить в js еще поверку на
<input id="toto" type="text" value="1"> - ставим галочку в checkbox

или

<input id="toto" type="text" value=""> - выводим без галочки checkbox


Если значение у input'a - 1 то делать checkbox checked по умолчанию, ну и наоборот
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2013, 00:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 28,892

djonA,

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<input id="tata" type="checkbox"> Чекбокс
<input id="toto" type="text" value="1">
 <script type="text/javascript">
    document.getElementById('tata').checked = document.getElementById('toto').value
	document.getElementById('tata').onclick = function () {
	  if (this.checked) document.getElementById('toto').value = 1;  else document.getElementById('toto').value = '';
	}
	</script>

</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2013, 00:13
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 195

Да спасибо большое что то туплю сегодня
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2013, 04:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
if (this.checked) document.getElementById('toto').value = 1;  else document.getElementById('toto').value = '';
Это упрощается до:
document.getElementById('toto').value = this.checked ? 1 : '';

Вот такая магия тернарного оператора.
Ответить с цитированием
  #5 (permalink)  
Старый 09.10.2013, 11:42
Новичок на форуме
Отправить личное сообщение для Exquisitor Посмотреть профиль Найти все сообщения от Exquisitor
 
Регистрация: 19.01.2011
Сообщений: 4

а как сделать наоборот, если начинаешь вводить в пустое поле input text значение "цифровое!" , то врубается чекбокс?
Ответить с цитированием
  #6 (permalink)  
Старый 09.10.2013, 11:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<!DOCTYPE html>
<label><input id="tata" type="checkbox" disabled="" /> Чекбокс</label>
<input id="toto" type="text" value="цифровое!" />
<script>
(function(){
    var input = document.getElementById('toto');
    var checkbox = document.getElementById('tata');
    var oninput = function() {
        checkbox.checked = input.value.indexOf('цифровое!') === 0;
    };
    input['oninput' in input ? 'oninput' : 'onpropertychange'] = oninput;
    oninput();
})()
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 09.10.2013, 14:52
Новичок на форуме
Отправить личное сообщение для Exquisitor Посмотреть профиль Найти все сообщения от Exquisitor
 
Регистрация: 19.01.2011
Сообщений: 4

понял. благодарю. "цифровое" я имел в виду, что цифра) но суть вижу, решение подходит!
Ответить с цитированием
  #8 (permalink)  
Старый 09.10.2013, 18:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если поддержка IE8 не нужна, то onpropertychange можно выкинуть, оставив oninput
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 14.01.2014, 04:44
Новичок на форуме
Отправить личное сообщение для vav82 Посмотреть профиль Найти все сообщения от vav82
 
Регистрация: 14.01.2014
Сообщений: 1

Здравствуйте уважаемые программисты подскажите как дописать скрипт чтобы он умножал сумму выделенных чекбоксов на число введенное в поле инпут текст. (чтобы умножалось на количество гостей.)

<script type="text/javascript">function getSum()
{
var sum = 0;
var vision = 0;
for (var i=1; i<=38; i++)
{
var obj = document.getElementById('checkbox_'+i);
if (obj.checked)
{
sum += parseInt(obj.value);
vision = 1;
}
}
var obj = document.getElementById('sum');
if (vision != 0)
{
obj.setAttribute('style', 'display: block;');
obj.innerHTML = 'Сумма: ' +sum;
}
else
{
obj.setAttribute('style', 'display: none;');
}
}
</script>

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

Последний раз редактировалось vav82, 14.01.2014 в 05:04.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вытощить значение из input? Joshka Элементы интерфейса 12 19.06.2011 11:15
Если введеное значение меньше то Tchort Общие вопросы Javascript 12 23.03.2010 10:25
checkbox input disabled TAILER Events/DOM/Window 4 13.02.2010 21:44
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 12:31
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 12:55