Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2015, 21:42
Новичок на форуме
Отправить личное сообщение для Алекс_ Посмотреть профиль Найти все сообщения от Алекс_
 
Регистрация: 03.05.2015
Сообщений: 9

Сравнение значений текстового поля input text со значениями radio
Прошу помочь сам новичок в языке java script, буду благодарен
есть текстовое поле:
<input type="text" value="first" id="" name ="but_1" />

так же есть 5 radio:
<input type="Radio" name="v1" value="year">
    <input type="Radio" name="v1" value="apple">
    <input type="Radio" name="v1" value="first">
    <input type="Radio" name="v1" value="wer">
    <input type="Radio" name="v1" value="treck">

необходимо сделать проверку на совпадение значения текстового поля со всеми radio, и включить значение true у того radio, у которого значение совпало со значением текст. поля.
заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2015, 22:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Алекс_,
почему R большое?
Ответить с цитированием
  #3 (permalink)  
Старый 03.05.2015, 22:16
Новичок на форуме
Отправить личное сообщение для Алекс_ Посмотреть профиль Найти все сообщения от Алекс_
 
Регистрация: 03.05.2015
Сообщений: 9

Сообщение от рони Посмотреть сообщение
Алекс_,
почему R большое?
рони, суть вопроса совсем в другом, разницы нет, большая буква R или маленькая, и так и так работает.
Ответить с цитированием
  #4 (permalink)  
Старый 03.05.2015, 22:45
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Алекс_, так?
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
</head>
<body>
  <input type="text" value="first" id="but_1" />
  <button>Проверить</button>
  <input type="radio" name="v1" value="year" />
  <input type="radio" name="v1" value="apple" />
  <input type="radio" name="v1" value="first" />
  <input type="radio" name="v1" value="wer" />
  <input type="radio" name="v1" value="treck" />

  <script>
    var button = document.getElementsByTagName('button')[0],
        inpElems = document.getElementsByName('v1'),
        inpTxt = document.getElementById('but_1');

    button.addEventListener('click', function() {
      Array.prototype.forEach.call(inpElems,function(item) {
        if(item.value == inpTxt.value) {
          item.checked = true;
        }
      });
    });
  </script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 03.05.2015, 22:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Decode,
а если значение id="but_1" изменить ? тогда ваш код выдаст неверное значение при следующей проверке
Ответить с цитированием
  #6 (permalink)  
Старый 03.05.2015, 23:28
Новичок на форуме
Отправить личное сообщение для Алекс_ Посмотреть профиль Найти все сообщения от Алекс_
 
Регистрация: 03.05.2015
Сообщений: 9

Decode,
не совсем) но спасибо большое, что решил помочь)
вот рабочий код, уже помогли)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Тест</title>
</head>
<script>
window.addEventListener("load",function(){
    document.querySelectorAll("input[value='"+document.getElementById("bb").value+"']")[1].setAttribute("checked","checked");
    });
</script>
<body>
    <input type="text" value="first" id="bb" name ="but_1" />
    <input type="Radio" name="v1" value="year">
    <input type="Radio" name="v1" value="apple">
    <input type="Radio" name="v1" value="first">
    <input type="Radio" name="v1" value="wer">
    <input type="Radio" name="v1" value="treck">
    <output id="result"></output>
</body>
</html>

Последний раз редактировалось Алекс_, 03.05.2015 в 23:36.
Ответить с цитированием
  #7 (permalink)  
Старый 03.05.2015, 23:30
Новичок на форуме
Отправить личное сообщение для Алекс_ Посмотреть профиль Найти все сообщения от Алекс_
 
Регистрация: 03.05.2015
Сообщений: 9

рони, не совсем тебя понимаю. Вопрос закрыт.
Ответить с цитированием
  #8 (permalink)  
Старый 03.05.2015, 23:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Алекс_,
ваш код и код Decode,
не предусматривают живое изменение текстового поля -- но оно похоже вам и ненужно
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2015, 01:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Алекс_
Decode,
не совсем)
код Decode выполняет туже функцию что и ваш, но похоже это для вас тёмный лес.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Тест</title>
</head>
<script>
window.addEventListener("load",function(){
 var inpElems = document.getElementsByName('v1'),
     inpTxt = document.getElementById('bb');
   Array.prototype.forEach.call(inpElems,function(item) {
        if(item.value == inpTxt.value) {
          item.checked = true;
        }
      });
    });
</script>
<body>
    <input type="text" value="first" id="bb" name ="but_1" />
    <input type="Radio" name="v1" value="year">
    <input type="Radio" name="v1" value="apple">
    <input type="Radio" name="v1" value="first">
    <input type="Radio" name="v1" value="wer">
    <input type="Radio" name="v1" value="treck">
    <output id="result"></output>
</body>
</html>




Decode, лучше вместо
if(item.value == inpTxt.value) {
          item.checked = true;
        }

использовать
item.checked = item.value == inpTxt.value;

тогда если совпадений не будет при следущей проверке ни один из radio не будет checked -- при вашей проверке нет возможности сброса.
Ответить с цитированием
  #10 (permalink)  
Старый 04.05.2015, 01:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Алекс_
необходимо сделать проверку на совпадение значения текстового поля со всеми radio, и включить значение true у того radio, у которого значение совпало со значением текст. поля.
а вот код который соответсвует вашему описанию - вводите ваши слова если такое слово есть среди radio произойдёт отметка

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Тест</title>
</head>
<script>
window.addEventListener("load", function() {
    var inpElems = document.getElementsByName('v1'),
        inpTxt = document.getElementById('bb');
    inpTxt.addEventListener("input", function() {
        var value = this.value;
        Array.prototype.forEach.call(inpElems, function(item) {
            {
                item.checked = item.value == value;
            }
        });
    })

});
</script>
<body>
    <input type="text" value="" id="bb" name ="but_1" />
    <input type="Radio" name="v1" value="year">
    <input type="Radio" name="v1" value="apple">
    <input type="Radio" name="v1" value="first">
    <input type="Radio" name="v1" value="wer">
    <input type="Radio" name="v1" value="treck">
    <output id="result"></output>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагин для Chrome. Анти - мат. Проблема с обновлением. Pacman Javascript под браузер 3 31.05.2013 21:40
Плагин для Chrome. Анти - мат. Проблема с обновлением. timedo Общие вопросы Javascript 1 30.05.2013 12:28
убрать прокрутку с элемента Vampir3 Общие вопросы Javascript 1 06.02.2013 17:20
Горизонтальная прокрутка контента! andys Элементы интерфейса 5 26.06.2011 23:06
скролл для длинного текста не появляется... dschmitz (X)HTML/CSS 6 27.11.2010 02:34