使用jquery [Extension]同时检查不同的单选按钮

时间:2014-09-26 05:27:08

标签: php jquery html foreach radio-button

我遇到的问题类似于此解决的问题link
这个链接有很多很棒的答案,甚至将OP的问题扩展到多个无线电组。

(我的格式与链接相同但是)我的问题是我没有两个以上的无线电组,而是使用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>

1 个答案:

答案 0 :(得分:0)

尝试此操作:您可以阅读所选单选按钮的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);
  });
});