2016-02-24 34 views
-3

我有動態表,我的一列是兩個單選按鈕。我必須檢查這兩個值,如果值大於0,我有兩個隱藏它們兩個。我有一個問題,要找到如何傳遞ID的方法,我在包含兩個單選按鈕的標籤上設置ID。這裏是我的HTML代碼:如何在JQuery中隱藏基於id的元素?

<label id="hideRadio_5"> 
    <input type="radio" name="block" class="blockYes" id="block_1" value="2245"/> 
    <span>Yes</span> 
    <input type="radio" name="block" class="blockNo" id="block_2" value="2245"/> 
    <span>No</span> 
</label> 

<label id="hideRadio_6"> 
    <input type="radio" name="block" class="blockYes" id="block_1" value="0"/> 
    <span>Yes</span> 
    <input type="radio" name="block" class="blockNo" id="block_2" value="0"/> 
    <span>No</span> 
</label> 

和這裏畝jQuery代碼:

$j(document).ready(function() { 
    /*$j('.blockYes').each(function() { 
      if($j(this).val() > 0){ 
       $j('.hideRadio').hide(); 
      } 
     });*/ 

     $j('input.blockYes[value="0"]').prop("checked", true); 
     $j('input.blockNo[value="-1"]').prop("checked", true); 
     $j('input.blockNo[value=""]').prop("checked", true); 
}); 

JQuery的,我上面使用的正常工作,並基於該值檢查單選按鈕,但我的邏輯隱藏標籤呢不行。問題是因爲我在我的標籤上使用了這個類,在這種情況下,所有單選按鈕都被隱藏了。然後我切換到ID,現在我不知道如何從每個標籤中傳遞該ID並檢查值。如果值大於0,我想隱藏該標籤。如果有人可以幫助解決這個問題,請告訴我。謝謝。

+0

僅僅只有這樣的附加$ J( '#block_2064')丙( 「選中」,真正的); – chen

+4

我認爲不建議有兩個html元素共享相同的ID。 http://programmers.stackexchange.com/a/127180也這樣說。 –

+0

我的ID總是不一樣,我不得不在單選按鈕上使用LABEL上的ID。 –

回答

1

做這種方式

$('.blockYes').each(function() { 
      if($(this).val() > 0){ 
       $(this).parent().hide(); 
      } 
}); 

小提琴:Demo

+0

謝謝!我完全忘了JQuery中的parent()選項。好,易於。 –

+0

@ user3023588:歡迎,如果這對你有效,請將其標記爲答案。 –