Javascript 无法通过所选单选按钮显示/隐藏div
在我的注册表格中,用户可以通过代码中给出的4种方式进行注册。但我不知道如何显示和隐藏只有当用户选择折扣或分期付款方式。此代码不起作用Javascript 无法通过所选单选按钮显示/隐藏div,javascript,html,Javascript,Html,在我的注册表格中,用户可以通过代码中给出的4种方式进行注册。但我不知道如何显示和隐藏只有当用户选择折扣或分期付款方式。此代码不起作用 <head> <script type="text/javascript"> $(document).ready(function() { $('input[name=register]').click(function(){ if(this.id=="discount") { $("
<head>
<script type="text/javascript">
$(document).ready(function() {
$('input[name=register]').click(function(){
if(this.id=="discount")
{
$("#discount").show('slow');
}
else
{
$("#discount").hide('slow');
}
if(this.id=="installment")
{
$("#installment").show('slow');
}
else
{
$("#installment").hide('slow');
}
});
});
</script>
</head>
<body>
<form id="reg" method="post" action="">
<table width="400" border="1">
<tr><caption>Register</caption>
<td>1.</td>
<td><input type="radio" name="register" value="regpaid" />Paid
<input type="radio" name="register" value="regfree" />Free
<input type="radio" id="discount" name="register" value="chkdis" onclick="checkdiscount()" />Discount
<input type="radio" id="installment" name="register" value="chkinst" onclick="checkinstallment()" />Installment
<div id="discount" style="display:none">
Paid <input name="paid" type="text" />
Dsicount <input name="dis" type="text" /></div>
<div id="installment" style="display:none">
Paid <input name="amtpaid" type="text" />
Due <input name="due" type="text" /></div>
</td>
</tr>
</table>
</form>
</body>
$(文档).ready(函数(){
$('input[name=register]')。单击(函数(){
if(this.id==“折扣”)
{
美元(“#折扣”).show('slow');
}
其他的
{
$(“#折扣”).hide('slow');
}
if(this.id==“分期付款”)
{
美元(“#分期付款”).show('slow');
}
其他的
{
$(“分期付款”).hide('slow');
}
});
});
登记
1.
支付
自由的
优惠
分期付款
支付
DSI计数
支付
应得的
我需要帮助。提前感谢。您的div和单选按钮具有相同的ID。重命名div ID 还包括JQuery并在javascript中正确重命名ID
$(文档).ready(函数(){
$('input[name=register]')。单击(函数(){
如果(this.id==“折扣”){
$(“#折扣div”).show('slow');
}否则{
$(“#折扣div”).hide('slow');
}
如果(this.id==“分期付款”){
$(“#installmentDiv”).show('slow');
}否则{
$(“#installmentDiv”).hide('slow');
}
});
});代码>
登记
1.
支付
自由的
优惠
分期付款
支付
DSI计数
支付
应得的
$('input[type=“radio”]”)。单击(函数(){
如果($(this).attr('id')=='deploy'){
$('折扣1')。显示('慢');
$('#installament1')。隐藏('slow');
}
如果($(this.attr('id')=='分期付款'){
$('安装1')。显示('慢');
$('#折扣1')。隐藏('slow');
}
});
给你 一种解决方案是使所有ID都唯一,然后将'-div'
附加到可展示元素中,这样我们就可以说“如果我选择了#kittens,那么显示#kittens div”。例如:
$(文档).ready(函数(){
$('input[name=register]')。单击(函数(){
//使用属性选择器(http://api.jquery.com/attribute-ends-with-selector/)把那两张桌子藏起来
$(“[id$='-div']”).hide(“slow”);//隐藏id以'-div'结尾的所有div
//获取单击的元素的id
var id=$(this.attr(“id”);//例如“折扣”
//并显示任何匹配的元素
$(“#”+id+“-div”).show('slow');//例如“#折扣div”
});
});代码>
登记
1.
支付
自由的
优惠
分期付款
支付
DSI计数
支付
应得的
如果用户单击折扣或分期付款单选按钮,则只应打开div的内容,您是否可以更清楚地了解您想要什么,您想要实现什么并不明显。根据选择,有两个div-合适的div应该是可见的。id应该是唯一的我是否需要在单选按钮中的onclick()中做一些更改?这些单选按钮onclick甚至不是必需的。如果用户选择“付费”或“免费”单选选项,则不会隐藏div。这是很酷的代码,但如果选择“付费”或“免费”,则我还想隐藏div。怎么做
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
$('input[type="radio"]').click(function() {
if($(this).attr('id') == 'discount') {
$('#discount1').show('slow');
$('#installment1').hide('slow');
}
if($(this).attr('id') == 'installment') {
$('#installment1').show('slow');
$('#discount1').hide('slow');
}
});