Javascript 如果选择了单选值,则显示div
如果选择了一个单选值,我想显示一个Javascript 如果选择了单选值,则显示div,javascript,jquery,Javascript,Jquery,如果选择了一个单选值,我想显示一个div,但如果选择了另一个值,我想再次隐藏它 <input type="radio" name="timespan" id="timespan" value="ongoing" checked>On-going <input type="radio" name="timespan" id="timespan" value="history">Historical <script type="text/javascript">
div
,但如果选择了另一个值,我想再次隐藏它
<input type="radio" name="timespan" id="timespan" value="ongoing" checked>On-going
<input type="radio" name="timespan" id="timespan" value="history">Historical
<script type="text/javascript">
$(document).ready(function() {
$('.end_date').css('display','none');
$('#timespan').click(function () {
var selected = $(this).find(':checked').val();
if(selected == 'history') {
$('.end_date').css('display','block');
} else {
$('.end_date').css('display','none');
}
});
});
</script>
正在进行中
历史的
$(文档).ready(函数(){
$('.end_date').css('display','none');
$('#timespan')。单击(函数(){
var selected=$(this.find(':checked').val();
如果(所选==“历史记录”){
$('.end_date').css('display','block');
}否则{
$('.end_date').css('display','none');
}
});
});
如果选择了
history
,我希望显示带有classend\u date
的元素,否则如果选择了持续的
,我希望它们被隐藏您有两个元素共享相同的id
。那不行。将history
按钮的id
更改为唯一的。也可以将选择器更改为类选择器:
$('.timespan').click(function () { ...
这确保单击事件应用于两个单选按钮。Html标记不应包含两个具有相同
id
的元素,页面上的id
应是唯一的,而应将类
时间跨度添加到两个单选按钮
在代码中,可以使用.hide()和.show()
来代替将display
属性设置为block或none
另外,您可以假定单击的按钮将被选中,而不是查找选中的单选按钮。这将代码简化为$(This.val()
而不是$(this).find(':checked').val()代码>
HTML
<input type="radio" class="timespan" name="timespan" value="ongoing" checked>On-going
<input type="radio" class="timespan" name="timespan" value="history">Historical
<div class="end_date">End Date</div>
<input type="radio" name="timespan" id="ongoing" value="ongoing" checked>On-going
<input type="radio" id="historical" name="timespan" value="history">Historical
<div class='end-date'>End-date</div>
JS Fiddle:正如一些人所说,您不应该拥有共享ID的HTML元素。ID是唯一的标识符。更改目标的ID。在我的示例中,jQuery一般检查无线电输入点击事件,并检查ID。如果它们与“历史”目标匹配,则所需的div将可见。
HTML
<input type="radio" class="timespan" name="timespan" value="ongoing" checked>On-going
<input type="radio" class="timespan" name="timespan" value="history">Historical
<div class="end_date">End Date</div>
<input type="radio" name="timespan" id="ongoing" value="ongoing" checked>On-going
<input type="radio" id="historical" name="timespan" value="history">Historical
<div class='end-date'>End-date</div>
jQuery
$('input[type=radio]').on('click', function(){
var selected = $(this).attr('id');
if(selected === 'historical') {
$('.end-date').fadeIn();
} else {
$('.end-date').hide();
}
});
请查看HTML中有关ID的规范。是否有错误?它不起作用吗?@John,它只是不起作用。它每页不能使用超过一次。“我愿意”-然后就做!请明确地问你的问题(并描述期望与结果)。@tatty27很高兴我能帮忙!