значения отмеченных флажков
Здравствуйте!
Есть код 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, время: 03:53. |