значения отмеченных флажков
Здравствуйте!
Есть код 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); но данный код выводит мне значение только первого флажка, подскажите,пожалуйста, почему так? |
УРА!!!! Все оказалось просто!!:dance:
var msg = ""; $("#flags input[id='fl']:checked").each(function () { msg += "Значение: " + this.value + ""; }); alert(msg); Ура!Ура!Ура! |
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> |
дааа..вобще вы правы...id должен быть разный...сейчас разбираюсь с вашим кодом, почему-то алерт не вызывается...
|
Sveta, все работает...но проверьте консоль на всякий случай...
|
Да-да!! Все работает)) это я с вызовом checks() не разобралась)
Спасибо большое! |
Ой-ой-ой!!! Только как сделать так, чтобы значения выбранных флажков выводилось одной строкой? а то я так понимаю mas это массив...а мне строка нужна...
|
Разобралась) чтобы была строка код такой:
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); } :write: |
Цитата:
|
<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> |
Часовой пояс GMT +3, время: 16:31. |