[英]How can I hide and show div by clicking a radio button using javascript?
我有兩個股利
<div id="exist">
<p>OK</p>
</div>
<div id="new">
<p>Not OK</p>
</div>
我也有兩個單選按鈕
<label class="radio">
<input type="radio" name="optionsRadios" id="exist_radio" value="existing" checked="">Existing
</label>
<div style="clear:both"></div>
<label class="radio">
<input type="radio" name="optionsRadios" id="new_radio" value="new">New
</label>
現在,我必須通過單擊單選按鈕僅顯示一個div。
如何在javascript中做到這一點?
/* JS */
window.onload = (function(){
var radio1 = document.getElementById('exist_radio');
var radio2 = document.getElementById('new_radio');
var div1 = document.getElementById('exist');
var div2 = document.getElementById('new');
//....
var show = function(id)
{
id.style.display = 'block';
}
var hide = function(id)
{
id.style.display = 'none';
}
hide(div1);
hide(div2);
radio1.onclick = function()
{
hide(div1);
show(div2);
}
radio2.onclick = function()
{
hide(div2);
show(div1);
}
});
對於document.getElementById ...,您當然可以編寫一些包裝器
注意:我的示例僅顯示了如何使用本機javascript ...對於生產而言,我建議拆分事件,操作等的邏輯並使用Backbone :)
對的,這是可能的!
向您獲得的每個onchange="show_div(this.id)"
按鈕添加例如onchange="show_div(this.id)"
。 還寫一個像這樣的javascript函數:
function show_div(id)
{
var exist_div = document.getElementById("exist");
var new_div = document.getElementById("new");
if(id == "exist_radio")
{
exist_div.style.display = "block";
new_div.style.display = "none";
}
else if(id == "new_radio")
{
exist_div.style.display = "none";
new_div.style.display = "block";
}
}
您可以在jQuery中很好地做到這一點:
$(document).ready(function() {
$('#exist').show();
$('#new').hide();
$('#exist_radio').on('click', function() {
$('#new').hide();
$('#exist').show();
});
$('#new_radio').on('click', function() {
$('#new').show();
$('#exist').hide();
});
});
像這樣
事件:“ click .radio.input”:“ showDiv”
showDiv:(el)->
kindOfDiv = el.target.value
if kindOfDiv is "existing"
@$("#exist").show()
@$("#new").hide()
if kindOfDiv is "new"
@$("#new").show()
@$("#exist").hide()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.