2014-09-26 43 views
0

我有一個類似於這個已解決的問題的問題link
這個鏈接有很多很好的答案,甚至將OP的問題擴展到多個無線組。我的問題是我沒有兩個以上的收音機組,但是我的收音機組中有多個元素使用FOREACH循環。
我的PHP是下面的腳本。使用與鏈接的答案的一個附帶的腳本用jquery同時檢查不同的單選按鈕[Extension]

<?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> 
+0

選擇任何單選按鈕後,是否要檢查與所選單選按鈕具有相同名稱的其他組中的單選按鈕?並不想使用循環,對吧? – 2014-09-26 05:51:23

+0

我認爲我的代碼使它比需要的更復雜。在給出的鏈接中,有兩個無線電組,每個有兩個元素:RG1(A,B)和RG2(A1,B1)。我尋找jquery的工作原理是相同的,但是從兩個元素擴展到三個:RG1(A,B,C)和RG2(A1,B1,C1)。最後,我將擴展到由我的foreach循環確定的許多元素。 – 2014-09-26 06:02:33

+0

並回答你的問題,是的。選擇任何單選按鈕後,我想檢查與選定的單選按鈕具有相同名稱的另一個組中的單選按鈕。對不起,任何困惑.. – 2014-09-26 06:03:41

回答

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); 
    }); 
}); 
+0

我正在尋找具有不同名稱的組之間的單選按鈕。我不認爲這仍然有效?我試着匹配組名,這也不起作用。 – 2014-09-26 06:46:48

+0

而不是匹配的名稱,我可以匹配類名或ID與此代碼,這是在廣播組之間相同? – 2014-09-26 06:49:58

+0

多數民衆贊成多說,我問你,你說'我想檢查單選按鈕在同名的另一個組'...是你可以匹配類名,但ID是不可取的,因爲你不能使用多個元素相同的ID。 – 2014-09-26 06:51:12