2013-09-17 2 views
-1

У меня есть три флажка. Например,HTML и Javascript, Получение текста из нескольких флажков

<input type="checkbox" name="vehicle" /><label>Car</label> 
<input type="checkbox" name="vehicle2" /><label>Truck</label> 
<input type="checkbox" name="vehicle3" /><label>Squirrel</label> 

То, что я пытаюсь сделать, это получить текст из этих checkboxs с использованием JavaScript в зависимости от того, или нет, проверяется флажок. Например, если проверяется только первый, то я хочу создать строку «Автомобиль». Если отмечены второй и третий флажки, то это должен быть «Грузовик, Белка». Если все три проверены, строка должна быть «Автомобиль, Грузовик, Белка» и т. Д.

Есть ли простой способ сделать это?

ответ

3
var $c = $('input[type="checkbox"]').on('change', function() { 
    var s = $c.filter(':checked').map(function() { 
       return this.nextElementSibling.innerHTML; 
      }).get().join(); 
}); 

В случае, если вы не хотите слушать события изменения:

function getCSV() { 
    return $('input[type="checkbox"]').filter(':checked').map(function() { 
       return this.nextElementSibling.innerHTML; 
      }).get().join(); 
} 
+0

ли .он («изменение», установите переменную только тогда, когда один из checkboxs значения изменяются? Если бы я хотел написать функцию, чтобы получить строку значений в любой момент времени, как бы я это сделал? – user446836

+0

Да, событие изменения должно быть запущено, я обновлю ответ. – undefined

+0

Спасибо за помощь в этом. Однако, когда я вызываю функцию, она всегда возвращает неопределенные значения, независимо от того, какой статус имеет флажок. – user446836

Смежные вопросы