У меня есть проблема, похожая на этот решенный вопрос здесь ссылка на сайт!
В этой ссылке есть много хороших ответов, даже распространяющих проблему ОП на несколько радиогрупп.
(Мое форматирование такое же, как в ссылке, но) моя проблема в том, что у меня не более двух радиогрупп, а несколько элементов в радиогруппах, использующих цикл FOREACH.
Мой PHP ниже сопровождается сценарием.
<?php
$query = mysqli_query($con, "SELECT example
FROM example_DB ");
while ($row = mysqli_fetch_assoc($query)){
foreach($row as &$value) {
if ($value == NULL) {
echo "";
}
else {
?>
<form method="post">
<input data-group="A" class="A" type="radio" value="<?php echo"$value<br />\n";?>">
<?phpecho"$value<br />\n";}}}?>
</input>
</div>
<div>
<?php
$query = mysqli_query($con, "SELECT example
FROM example_DB");
while ($row = mysqli_fetch_assoc($query)){
foreach($row as &$value) {
if ($value == 0.00) {
echo "";
}
else {
?>
<input data-group="A" class="A" ID="A" type="radio" value="<?php echo"$value<br />\n";?>">
<?php
echo"$value<br />\n";
}}}
?>
</input>
</div>
</form>
Я использую скрипт, который поставляется с одним из ответов в ссылке:
<script>
$( document ).ready(function() {
$(function() {
var radios = $('[type=radio]');
$('input:radio').change(function(){
var index = $( this ).index( $('[name=' + this.name + ']') );
var groups = [];
radios.not( $('[name=' + this.name + ']') )
.each(function(v,i) {
$.inArray(this.name, groups) > -1 || groups.push( this.name );
});
$.each(groups, function(i,v) {
$('[name=' + v + ']').eq( index ).prop( 'checked', true );
});
});
});
});
</script>
Попробуйте это: вы можете прочитать name
выбранной радиокнопки и найдите все радиокнопки с одинаковыми именами, чтобы выбрать их.
НОТА — $(document).ready(..
а также $(function(){..
оба одинаковы, так что вы можете использовать любой из них, а не оба одновременно.
$(function() {
$('input:radio').change(function(){
var name = $(this).prop('name');
$('input:radio[name="'+name+'"]').prop('checked',this.checked);
});
});
РЕДАКТИРОВАТЬ— Поскольку OP хочет выбрать все переключатели с одинаковым именем или значением класса, используйте следующий код —
Для того же Учебный класс —
$(function() {
$('input:radio').change(function(){
var className = $(this).prop('class');
$('input:radio[class="'+className +'"]').prop('checked',this.checked);
});
});
Для того же Значение —
$(function() {
$('input:radio').change(function(){
var radioVal = $(this).val();
$('input:radio[value="'+ radioVal +'"]').prop('checked',this.checked);
});
});
Других решений пока нет …