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

чтобы при нажатии checkbox не стирался value в Input
jsfiddle.net/muksdfeb/2
  • Вопрос задан
  • 382 просмотра
Пригласить эксперта
Ответы на вопрос 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(','));
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы