2015-08-21 126 views
0

我有三個單選按鈕,在加載時可能會選擇其中一個按鈕。如果選擇2的值,我需要顯示一個div,如果其他兩個div應該隱藏。如果收音機沒有被選中,隱藏jquery負載div

單擊功能是否工作正常,但如果在頁面加載時它仍然顯示即使無線電沒有選擇

$("input[name='AssignmentType']").click(function() { 
     if ($(this).val() == 2) { 
      $('#selection').show(); 
     } else { 
      $('#selection').hide(); /* If you want to be hidden if it's not */ 
     } 
    }); 

HTML

<div class="col-md-10"> 
      <div> 
<input checked="checked" data-val="true" data-val-number="The field AssignmentType must be a number." htmlattributes="{ checked = True, class = form-control, id = AllCodes }" id="AssignmentType" name="AssignmentType" type="radio" value="0"> 
       Available for All Employees 
      </div> 
      <div> 
<input htmlattributes="{ checked = True, class = form-control, id = EEClass }" id="AssignmentType" name="AssignmentType" type="radio" value="1"> 
       Available only to Employees in Class 
      </div> 
      <div> 
<input htmlattributes="{ checked = True, class = form-control, id = EECombo }" id="AssignmentType" name="AssignmentType" type="radio" value="2"> 
       Available for All Employees in combination of below Department, Position, State 
      </div> 
     </div> 
+0

嘿,請不要't撰寫[問題](http://stackoverflow.com/questions/32148185/show-css-hidden-div-on-load-using-jquery#32148185),編輯它們而不是刪除和問一個新的問題。 – Teemu

+0

我不知道這是什麼意思 – TheDizzle

+0

你應該給你的jQuery一些HTML,你可以再展示一些嗎? – Michelangelo

回答

1

你應該將所有的DIV你代碼輸出到單獨的函數,然後在點擊期間和文檔加載時調用該函數。

function hideSelection(type) { 
    if ($(type).val() == 2) { 
     $('#selection').show(); 
    } else { 
     $('#selection').hide(); /* If you want to be hidden if it's not */ 
    } 
} 

$(document).ready(function() { 
    hideSelection("input[name='AssignmentType']"); 
    $("input[name='AssignmentType']").click(function() {hideSelection("input[name='AssignmentType']");}); 

}); 
-1

試試這個

$(document).ready(function() { 
    if ($(input[name='AssignmentType']).val() == 2) { 
      $('#selection').show(); 
     } else { 
      $('#selection').hide(); 
     } 
}); 
+0

這隻適用於頁面加載,而不是點擊,如果他們想要執行兩次相同的任務將會是多餘的。 – asdf

0

<html> 
 
    <body> 
 
    <div id="div1">I am here</div> 
 
    <input type="button" value="Click Me!" onclick="document.getElementById('div1').style.visibility='hidden';" /> 
 
    </body> 
 
</html>

+0

點擊工作得很好。這是當頁面加載時沒有。根據選擇,div不會隱藏 – TheDizzle

0

我不知道你的HTML結構是怎樣的,但你可以用的情況下,你的結構是建立在一個CSS使這個方式,你可以使用波浪號選擇器

div.onlyif { 
 
    display: none; 
 
} 
 
input[name="AssignmentType"][value="2"]:checked ~ div.onlyif { 
 
    display: block; 
 
}
<div> 
 
    <p>Select something:</p> 
 
    1: <input type="radio" name="AssignmentType" value="1"> <br/> 
 
    2: <input type="radio" name="AssignmentType" value="2"> <br/> 
 
    3: <input type="radio" name="AssignmentType" value="3"> <br/> 
 
    <div class="onlyif">Looks like you selected #2</div> 
 
</div>

0

我不得不做這種方式。

我的劇本是

$(document).ready(function() { 
     var chk = $('.selectedRadio input:radio:checked'); 
     var val = chk.attr('value');    
     if (val == 2) { 
      $('#selection').show(); 
     } else { 
      $('#selection').hide(); /* If you want to be hidden if it's not */ 
     } 
    }); 

我加入class="selectedRadio"到每個按鈕。當時我能夠抓住價值的是,被檢查按鈕和顯示或隱藏#selection DIV

然後我就在它下面我點擊功能運行時,我選擇

$("input[name='AssignmentType']").click(function() { 
    if ($(this).val() == 2) { 
     $('#selection').show(); 
    } else { 
     $('#selection').hide(); /* If you want to be hidden if it's not */ 
    } 
});