Как получить занечения нескольких input radio?

Samail
На сайте с 10.05.2007
Offline
361
487



window.onclick = function onclickRadio() {
var naserv = document.getElementsByName('naserv');
for (var i = 0; i < naserv.length; i++) {
if (naserv.type === 'radio' && naserv.checked) {
value = naserv.value;
ID = naserv.id;
tit = naserv.alt;
}


<input type="radio" name="naserv" id="1" alt="Тайтл-1" value="26">
<input type="radio" name="naserv" id="2" alt="Тайтл-2" value="2">
<input type="radio" name="naserv" id="3" alt="Тайтл-3" value="48">
<input type="radio" name="naserv" id="4" alt="Тайтл-4" value="56">
<input type="radio" name="naserv" id="5" alt="Тайтл-5" value="12">

Если допустим выбран input с id="3, как получить переменную с value выбранного и предыдущих input, что-бы получилось:

allvalue = '48|2|26';

и как потом в PHP которому это передастся, указать в условии "если $K равно одному из этих чисел". То есть:


$allvalue = '48|2|26';
if($k=='одному из чисел в $allvalue')
ДП
На сайте с 23.11.2009
Offline
203
#1

Два варианта:

1. Генерить инпуты сразу с нужными значениями. т.е. в value="48|2|26";

2. При клике собирать нужные id в скрытое поле, ибо при сабмите средствами html на сервер приедет только значение value выбранного инпута.

собирать типа такого


var ids=[],stop=false;
$("input:radio").each(function(){
if(!stop){
ids.push(this.id);
}
if($(this).attr('checked')){
stop = true;
}
});
$("#hidden_input).val(ids.join("|"));

код - иллюстрация подхода

а в php explode() переменной по | и потом in_array(); ну или можно как строку типа strpos("|".$k."|",$hidden_input)!==false; (обязально !==)

Samail
На сайте с 10.05.2007
Offline
361
#2

Генерировать оказалось проще :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий