如何在未选中单选按钮时隐藏内容并允许查看其他内容
How to hide content when a radio button is not checked and enable other content to be viewed
基本上我想设置两个单选按钮,一个叫'Login',另一个叫'Register'
选中 'Login' 单选按钮后,我希望仅显示登录部分,反之亦然 'Register' 按钮。
非常感谢任何帮助
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h2 class="text-center"><img src="//placehold.it/110" class="img-circle"><br>Login</h2>
<div class="container">
<form role="form">
<label class="radio-inline">
<input type="radio" name="optradio">Login
</label>
<label class="radio-inline">
<input type="radio" name="optradio">Register
</label>
</form>
</div>
</div>
<div style="width:602px"class="modal-body row">
<form action="" method="post">
<div class="row">
<div style="padding-left:20px; padding-right:-20px class="col-sm-12 text-center">
<div class="form-group">
<label for="username">Username</label>
<input id="name" name="username" placeholder="Username" type="text" tabindex="1" class="form-control">
<div class="form-group">
<label for="password">Password</label>
<input id="password" name="password" placeholder="Password" type="password" tabindex="2" class="form-control">
<br>
<input class="form-control btn btn-success" name="submit" type="submit" value="Log In" id="submit" tabindex="4" >
<h4>Not a member? <label class="checkbox-Warning"><input type="checkbox" value=""></label></h4>
<!-- come back here and finished login and registration -->
<div class="text-center"><h3 style="text-align:center"><b>Register</b></h3></div>
<form id="register-form" action="index.php" method="post" role="form">
<div class="form-group has-feedback">
<label for="username">Username</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="username"></span>
<input type="text" name="newusername" id="newusername" tabindex="1" class="form-control validate-input" placeholder="Username" value="" autocomplete="off">
</div>
<div class="form-group has-feedback">
<label for="email">Email Address</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="email"></span>
<input type="text" name="newemail" id="email" tabindex="2" class="form-control validate-input" placeholder="Email Address" value="" autocomplete="off">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="newpassword1" id="password" tabindex="3" class="form-control" placeholder="Password" autocomplete="off">
</div>
<div class="form-group">
<label for="confirm-password">Confirm Password</label>
<input type="password" name="confirm-password1" tabindex="4" id="confirm-password1" class="form-control" placeholder="Confirm Password" autocomplete="off">
<br>
<input type="submit" name="register-submit" id="register-submit" tabindex="5" class="form-control btn btn-success" value="Register">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
所以当登录单选按钮被选中时,所有的登录都应该是可见的,并且所有的注册组件应该被隐藏
设置一个事件处理程序来通知单选按钮是否被勾选,并响应单选按钮上的点击事件。
与jQuery:
$("input[type=radio]").on('click', function () {
$(container).empty();
var newSection = $('input[type=radio]:checked').value; //Get name of the new section
$(container).append($('div.' + newSection));
});
在此点击事件中,删除部分中的 html 并附加您想要的新部分。
这个答案不一定适合您当前的代码,但它是您如何处理它的一个概念
我为 document.getElementById 的两个按钮添加了一个 ID。
<input type="radio" name="optradio" value="login" id="login-button" >
<input type="radio" name="optradio" value="register" id="register-button">
<script>
document.getElementById("login-button").addEventListener("click", function(){
document.querySelector('#login-div').style.display = 'initial';
document.querySelector('#register-div').style.display = 'none';
}, false);
document.getElementById("register-button").addEventListener("click", function(){
document.querySelector('#register-div').style.display = 'initial';
document.querySelector('#login-div').style.display = 'none';
}, false);
</script>
您可以为单选按钮指定不同的 classes/id,例如 "registerbutton" 和 "loginbutton"。
如果您给注册部分 class/id "register" 和登录部分 class/id "login",您可以用 jQuery 定位它们。
您可以将以下代码放在 <script>
个标签之间。
$('.registerbutton').click( function() {
$('.login').css('display', 'none')
$('.register').css('display', 'inline-block')
});
$('.loginbutton').click( function() {
$('.login').css('display', 'inline-block')
$('.register').css('display', 'none')
});
jQuery 与 css 选择器一起使用,因此 '.loginbutton' 与 class 登录按钮一起使用。如果您提供元素 ID,则应将“.loginbutton”替换为“#loginbutton”。
我不知道您是否使用过 jQuery,但如果您还没有:请不要忘记 link 一个 jQuery 库。用过也不要忘记。
如果你把它放在结束 </body>
标签的右边,它应该可以工作。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$('.registerbutton').click( function() {
$('.login').css('display', 'none')
$('.register').css('display', 'inline-block')
});
$('.loginbutton').click( function() {
$('.login').css('display', 'inline-block')
$('.register').css('display', 'none')
});
</script>
第一个 <script>
标签 link 是带有函数的库,第二个标签调用函数使它工作。如果你给 de html 元素正确的 classes/id。
基本上我想设置两个单选按钮,一个叫'Login',另一个叫'Register'
选中 'Login' 单选按钮后,我希望仅显示登录部分,反之亦然 'Register' 按钮。
非常感谢任何帮助
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h2 class="text-center"><img src="//placehold.it/110" class="img-circle"><br>Login</h2>
<div class="container">
<form role="form">
<label class="radio-inline">
<input type="radio" name="optradio">Login
</label>
<label class="radio-inline">
<input type="radio" name="optradio">Register
</label>
</form>
</div>
</div>
<div style="width:602px"class="modal-body row">
<form action="" method="post">
<div class="row">
<div style="padding-left:20px; padding-right:-20px class="col-sm-12 text-center">
<div class="form-group">
<label for="username">Username</label>
<input id="name" name="username" placeholder="Username" type="text" tabindex="1" class="form-control">
<div class="form-group">
<label for="password">Password</label>
<input id="password" name="password" placeholder="Password" type="password" tabindex="2" class="form-control">
<br>
<input class="form-control btn btn-success" name="submit" type="submit" value="Log In" id="submit" tabindex="4" >
<h4>Not a member? <label class="checkbox-Warning"><input type="checkbox" value=""></label></h4>
<!-- come back here and finished login and registration -->
<div class="text-center"><h3 style="text-align:center"><b>Register</b></h3></div>
<form id="register-form" action="index.php" method="post" role="form">
<div class="form-group has-feedback">
<label for="username">Username</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="username"></span>
<input type="text" name="newusername" id="newusername" tabindex="1" class="form-control validate-input" placeholder="Username" value="" autocomplete="off">
</div>
<div class="form-group has-feedback">
<label for="email">Email Address</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="email"></span>
<input type="text" name="newemail" id="email" tabindex="2" class="form-control validate-input" placeholder="Email Address" value="" autocomplete="off">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="newpassword1" id="password" tabindex="3" class="form-control" placeholder="Password" autocomplete="off">
</div>
<div class="form-group">
<label for="confirm-password">Confirm Password</label>
<input type="password" name="confirm-password1" tabindex="4" id="confirm-password1" class="form-control" placeholder="Confirm Password" autocomplete="off">
<br>
<input type="submit" name="register-submit" id="register-submit" tabindex="5" class="form-control btn btn-success" value="Register">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
所以当登录单选按钮被选中时,所有的登录都应该是可见的,并且所有的注册组件应该被隐藏
设置一个事件处理程序来通知单选按钮是否被勾选,并响应单选按钮上的点击事件。
与jQuery:
$("input[type=radio]").on('click', function () {
$(container).empty();
var newSection = $('input[type=radio]:checked').value; //Get name of the new section
$(container).append($('div.' + newSection));
});
在此点击事件中,删除部分中的 html 并附加您想要的新部分。
这个答案不一定适合您当前的代码,但它是您如何处理它的一个概念
我为 document.getElementById 的两个按钮添加了一个 ID。
<input type="radio" name="optradio" value="login" id="login-button" >
<input type="radio" name="optradio" value="register" id="register-button">
<script>
document.getElementById("login-button").addEventListener("click", function(){
document.querySelector('#login-div').style.display = 'initial';
document.querySelector('#register-div').style.display = 'none';
}, false);
document.getElementById("register-button").addEventListener("click", function(){
document.querySelector('#register-div').style.display = 'initial';
document.querySelector('#login-div').style.display = 'none';
}, false);
</script>
您可以为单选按钮指定不同的 classes/id,例如 "registerbutton" 和 "loginbutton"。
如果您给注册部分 class/id "register" 和登录部分 class/id "login",您可以用 jQuery 定位它们。
您可以将以下代码放在 <script>
个标签之间。
$('.registerbutton').click( function() {
$('.login').css('display', 'none')
$('.register').css('display', 'inline-block')
});
$('.loginbutton').click( function() {
$('.login').css('display', 'inline-block')
$('.register').css('display', 'none')
});
jQuery 与 css 选择器一起使用,因此 '.loginbutton' 与 class 登录按钮一起使用。如果您提供元素 ID,则应将“.loginbutton”替换为“#loginbutton”。
我不知道您是否使用过 jQuery,但如果您还没有:请不要忘记 link 一个 jQuery 库。用过也不要忘记。
如果你把它放在结束 </body>
标签的右边,它应该可以工作。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$('.registerbutton').click( function() {
$('.login').css('display', 'none')
$('.register').css('display', 'inline-block')
});
$('.loginbutton').click( function() {
$('.login').css('display', 'inline-block')
$('.register').css('display', 'none')
});
</script>
第一个 <script>
标签 link 是带有函数的库,第二个标签调用函数使它工作。如果你给 de html 元素正确的 classes/id。