да, то что надо ))
но всеже возникла новая проблемка..
если в блоках одинаковое имя, то при выборе нижнего выбирается верхний, которой имеет тоже имя..
может можно это как-то подправить если не затруднит?
хотя конечно тут и сам могу справиться- на пхп написать функцию проверки был ли блок с таким именем уже выведен и если да, то изменить имя, но как-то муторно получается.. может как-то проще можно изменив тут в js?
<fieldset class="block1" >
<legend>block1</legend>
<input type="radio" name="1" value="9" id="9"><label for="9">9</label><br>
<input type="radio" name="1" value="10" id="10"><label for="10">10</label><br>
<input type="radio" name="1" value="11" id="11"><label for="11">11</label><br>
</fieldset>
<fieldset class="block2" >
<legend>block1</legend>
<input type="radio" name="1" value="9" id="9"><label for="9">9</label><br>
<input type="radio" name="1" value="10" id="10"><label for="10">10</label><br>
<input type="radio" name="1" value="11" id="11"><label for="11">11</label><br>
</fieldset>
<script>
function uncheckAnother(e) {
var target, x, radios;
e = e || window.event;
target = e.target || e.srcElement;
if (target.type !== "radio") return true;
radios = document.querySelectorAll(this.getAttribute("data-classes"));
for(x = 0; x < radios.length; x++) {
radios[x].checked = true;
}
}
function makeRadioFamily() {
var
x, queryString, y,
fieldsets = document.querySelectorAll("." + Array.prototype.join.call(arguments, ", ."))
;
for(x = 0; x < fieldsets.length; x++) {
queryString = "";
for(y = 0; y < arguments.length; y++) {
if(fieldsets[x].className === arguments[y]) continue;
if(queryString.indexOf(arguments[y]) != -1) continue;
queryString += " ." + arguments[y] + " input[type=radio], "
}
queryString = queryString.replace(/, $/, "");
fieldsets[x].setAttribute("data-classes", queryString);
fieldsets[x].onclick = uncheckAnother;
}
}
</script>
т.е. 2 одинаковых блока, но чтоб значения можно было бы выбрать разные