Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.03.2016, 00:16
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Активация checkbox, если значение value из input совпадает
Имею вот такую передачу значения value из checkbox в input с f_select_category. Хотелось бы узнать, реально ли реализовать?
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
  <div class='checkklass'>
   <p><input type='checkbox' name='a' value='699'> 4 </p>
   <p><input type='checkbox' name='a' value='700'> 5 </p>
   <p><input type='checkbox' name='a' value='701'> 6 </p>
   <p><input type='checkbox' name='a' value='702'> 7 </p>
   <p><input type='checkbox' name='a' value='703'> 8 </p>
   <p><input type='checkbox' name='a' value='704'> 9 </p>
   <p><input type='checkbox' name='a' value='705'> 10 </p>
   <p><input type='checkbox' name='a' value='706'> 11 </p>
   <p><input type='checkbox' name='a' value='707'> 12</p>
  </div>

<input name="f_select_category" type="text" maxlength="255" size="50" value="" onchange="jQuery.modal.nc_modal_confirm=true;undefined">

<script type="text/javascript">
 var check=$("input[name='a']");
check.change(function(){
 var names=',';
 check.each(function(){if($(this).is(':checked')){names+=$(this).val()+',';}});
 $("input[name='f_select_category']").val(names);
});
 $("input[name='f_select_category']").val(",");
</script>

</body>
</html>


Как сделать так, что бы checkbox'ы были активированы, если в $("input[name='f_select_category']") будут значения например:
,699,702,703,
Ответить с цитированием
  #2 (permalink)  
Старый 05.03.2016, 00:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

k_DizeL,
<!DOCTYPE HTML>
<html>
<head>

  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
  <div class='checkklass'>
   <p><input type='checkbox' name='a' value='699'> 4 </p>
   <p><input type='checkbox' name='a' value='700'> 5 </p>
   <p><input type='checkbox' name='a' value='701'> 6 </p>
   <p><input type='checkbox' name='a' value='702'> 7 </p>
   <p><input type='checkbox' name='a' value='703'> 8 </p>
   <p><input type='checkbox' name='a' value='704'> 9 </p>
   <p><input type='checkbox' name='a' value='705'> 10 </p>
   <p><input type='checkbox' name='a' value='706'> 11 </p>
   <p><input type='checkbox' name='a' value='707'> 12</p>
  </div>

<input name="f_select_category" type="text" maxlength="255" size="50" >

<script type="text/javascript">
window.addEventListener("DOMContentLoaded", function() {
    document.querySelector("input[name='f_select_category']").addEventListener("input", function() {
        var b = this.value.match(/\d+/g) || [];
        [].forEach.call(document.querySelectorAll(".checkklass input"), function(a) {
            a.checked = ~b.indexOf(a.value)
        })
    })
});

</script>

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2016, 01:37
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Спасибо конечно. Но в поле input[name='f_select_category'] уже будут какие то значения и их необходимо проверить, после отметить input[name='a'] value которых совпали

Последний раз редактировалось k_DizeL, 05.03.2016 в 01:40.
Ответить с цитированием
  #4 (permalink)  
Старый 05.03.2016, 01:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

k_DizeL,
и что это меняет?
Ответить с цитированием
  #5 (permalink)  
Старый 05.03.2016, 01:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

k_DizeL,
<!DOCTYPE HTML>
<html>
<head>

  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
  <div class='checkklass'>
   <p><input type='checkbox' name='a' value='699'> 4 </p>
   <p><input type='checkbox' name='a' value='700'> 5 </p>
   <p><input type='checkbox' name='a' value='701'> 6 </p>
   <p><input type='checkbox' name='a' value='702'> 7 </p>
   <p><input type='checkbox' name='a' value='703'> 8 </p>
   <p><input type='checkbox' name='a' value='704'> 9 </p>
   <p><input type='checkbox' name='a' value='705'> 10 </p>
   <p><input type='checkbox' name='a' value='706'> 11 </p>
   <p><input type='checkbox' name='a' value='707'> 12</p>
  </div>

<input name="f_select_category" type="text" maxlength="255" size="50"  value="699,702,703,">

<script type="text/javascript">
window.addEventListener("DOMContentLoaded", function() {
        var b = document.querySelector("input[name='f_select_category']").value.match(/\d+/g) || [];
        [].forEach.call(document.querySelectorAll(".checkklass input"), function(a) {
            a.checked = ~b.indexOf(a.value)
        })
});

</script>

</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 05.03.2016, 01:49
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Не сработало.
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
  <div class='checkklass'>
   <p><input type='checkbox' name='a' value='699'> 4 </p>
   <p><input type='checkbox' name='a' value='700'> 5 </p>
   <p><input type='checkbox' name='a' value='701'> 6 </p>
   <p><input type='checkbox' name='a' value='702'> 7 </p>
   <p><input type='checkbox' name='a' value='703'> 8 </p>
   <p><input type='checkbox' name='a' value='704'> 9 </p>
   <p><input type='checkbox' name='a' value='705'> 10 </p>
   <p><input type='checkbox' name='a' value='706'> 11 </p>
   <p><input type='checkbox' name='a' value='707'> 12</p>
  </div>

<input name="f_select_category" type="text" maxlength="255" size="50" value=",700,701,702," onchange="jQuery.modal.nc_modal_confirm=true;undefined">

<script type="text/javascript">
 var check=$("input[name='a']");
check.change(function(){
 var names=',';
 check.each(function(){if($(this).is(':checked')){names+=$(this).val()+',';}});
 $("input[name='f_select_category']").val(names);
});
 $("input[name='f_select_category']").val();
 window.addEventListener("DOMContentLoaded", function() {
    document.querySelector("input[name='f_select_category']").addEventListener("input", function() {
        var b = this.value.match(/\d+/g) || [];
        [].forEach.call(document.querySelectorAll(".checkklass input"), function(a) {
            a.checked = ~b.indexOf(a.value)
        })

    })

});
</script>

</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 05.03.2016, 02:06
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

рони, да, этот рабочий вариант, спасибо большое. Хочу еще узнать, есть ли способ заставить выполняться этот скрипт после полной загрузки страницы?

Последний раз редактировалось k_DizeL, 05.03.2016 в 02:20. Причина: глупость сморозил
Ответить с цитированием
  #8 (permalink)  
Старый 05.03.2016, 02:30
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Возникла еще одна проблема. Скрипт должен выполнится в ajax окне, которое подгружается без перезагрузки страницы. Соотвественно обработчик DOMContentLoaded несрабатывает. На что его можно заменить? Не бред, если заменить на выполнение скрипта по движению мышки? Обработчиком mousemove

Последний раз редактировалось k_DizeL, 05.03.2016 в 02:33.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продублировать значение value из тега input dokxpi Элементы интерфейса 10 13.05.2015 23:17
Как стереть значение input через функцию? qwe88 Элементы интерфейса 1 17.04.2015 18:31
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42
Если введеное значение меньше то Tchort Общие вопросы Javascript 12 23.03.2010 11:25
checkbox input disabled TAILER Events/DOM/Window 4 13.02.2010 22:44