Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2012, 10:59
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

значения отмеченных флажков
Здравствуйте!
Есть код html
<div id = 'flags'>
		<p><input type="checkbox" id="fl" value="Rendering engine">Rendering engine</p>
		<p><input type="checkbox" id="fl" value="Browser">Browser</p>
		<p><input type="checkbox" id="fl" value="Platform(s)">Platform(s)</p>
		<p><input type="checkbox" id="fl" value="Engine version">Engine version</p>
		<p><input type="checkbox" id="fl" value="CSS grade">CSS grade</p>
	</div>


мне необходимо получить значения отмеченных флажков
для начала пытаюсь просто получить значения всех флажков:
var msg = "";
		$('#fl').each(function () {
			 msg += "Значение: " + this.value + "";
			
		});
		alert(msg);

но данный код выводит мне значение только первого флажка, подскажите,пожалуйста, почему так?
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2012, 11:07
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

УРА!!!! Все оказалось просто!!
var msg = "";
		$("#flags input[id='fl']:checked").each(function () {
			 msg += "Значение: " + this.value + "";	
		});
		alert(msg);

Ура!Ура!Ура!
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2012, 11:10
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Sveta, id у всех должен быть разный, т.к. это уникальный идентификатор...
<div id = 'flags'>
        <p><input type="checkbox" id="f1" value="Rendering engine">Rendering engine</p>
        <p><input type="checkbox" id="f2" value="Browser">Browser</p>
        <p><input type="checkbox" id="f3" value="Platform(s)">Platform(s)</p>
        <p><input type="checkbox" id="f4" value="Engine version">Engine version</p>
        <p><input type="checkbox" id="f5" value="CSS grade">CSS grade</p>
    </div>
<input type="button" value="click" onClick="checks()">
<script>
function checks() {
var cbx = document.getElementById("flags").getElementsByTagName("input"), mas = [];
for (i=0; i < cbx.length; i++) {
    if (cbx[i].type == "checkbox" && cbx[i].checked) {
        mas.push(cbx[i].value);
    }
}
alert(mas);
}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2012, 11:18
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

дааа..вобще вы правы...id должен быть разный...сейчас разбираюсь с вашим кодом, почему-то алерт не вызывается...
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2012, 11:21
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Sveta, все работает...но проверьте консоль на всякий случай...
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2012, 11:28
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

Да-да!! Все работает)) это я с вызовом checks() не разобралась)
Спасибо большое!
Ответить с цитированием
  #7 (permalink)  
Старый 26.10.2012, 11:34
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

Ой-ой-ой!!! Только как сделать так, чтобы значения выбранных флажков выводилось одной строкой? а то я так понимаю mas это массив...а мне строка нужна...
Ответить с цитированием
  #8 (permalink)  
Старый 26.10.2012, 11:44
Аватар для Sveta
Профессор
Отправить личное сообщение для Sveta Посмотреть профиль Найти все сообщения от Sveta
 
Регистрация: 10.10.2012
Сообщений: 153

Разобралась) чтобы была строка код такой:
function checks() { 
		var cbx = document.getElementById("flags").getElementsByTagName("input"), msg= "";
			for (i=0; i < cbx.length; i++) {
				if (cbx[i].type == "checkbox" && cbx[i].checked) {		
					msg += "" + cbx[i].value +"" ;	
				}
			}
			alert(msg);	
	}

Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2012, 20:33
Аватар для a_l
a_l a_l вне форума
Кандидат Javascript-наук
Отправить личное сообщение для a_l Посмотреть профиль Найти все сообщения от a_l
 
Регистрация: 15.09.2011
Сообщений: 143

Цитата:
msg += "" + cbx[i].value +"" ;
Смысл в кавычках?
Ответить с цитированием
  #10 (permalink)  
Старый 27.10.2012, 02:26
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

<div>
    <p><input type="checkbox" value="Rendering engine">Rendering engine</p>
    <p><input type="checkbox" value="Browser">Browser</p>
    <p><input type="checkbox" value="Platform(s)">Platform(s)</p>
    <p><input type="checkbox" value="Engine version">Engine version</p>
    <p><input type="checkbox" value="CSS grade">CSS grade</p>
</div>

<script>

alert(

    Array.prototype.map.call( document.getElementsByTagName( 'input' ), function( input ) {

        return input.value;

    })

);

</script>
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
получение значения из классов karmis Events/DOM/Window 1 14.10.2011 19:09
mootools получение массива отмеченных чекбоксов diiimonn Библиотеки/Тулкиты/Фреймворки 2 01.09.2011 22:42
Вытащить со страницы все значения name и value из тегов <input> qwr938 Общие вопросы Javascript 8 13.02.2011 15:16
Передача массива значений флажков LRCenter Общие вопросы Javascript 2 05.10.2010 19:49