Как сделать так чтобы данные с checkbox передавались в Input через запятую?

чтобы при нажатии checkbox не стирался value в Input
jsfiddle.net/muksdfeb/2
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ответы на вопрос 2
EagleMoor
@EagleMoor
PHP Yii2 RESTful API Developer
jQuery(function($) {
  var $text = $('#text-input'),
      $box = $('.my-checkbox'),
      $defval = $text.val();
  
  $box.on('click change', function() {
    var values = [];
    
    $box.filter(':checked').each(function() {
      values.push(this.value);
    });
    
      $text.val($defval + ((values.length) ? ',' : '') + values.join(','));
  });
    $text.on('change', function() {
        $defval = $(this).val();
    });
});


Вот только если после выбора checkbox вы начнете вводить текст — то он станет текстом основным. Если нужна какая-то более извращенная логика, то описывайте более детально сразу =)
Ответ написан
zolt85
@zolt85
Программист
jQuery(function($) {
  var $text = $('#text-input'),
      $box = $('.my-checkbox');
  
    $box.on('click', function() {
    var values = $text.val().split(",") || [];
    
    $box.each(function() {
        
        if($(this).prop("checked")){
            if(values.join("").indexOf(this.value) < 0){  
              values.push(this.value);
            }
        } else {
            var index = values.indexOf(this.value);
            if(index >=0){
                values.splice(index, 1);
            }
        }
});
    $text.val(values.join(','));
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект