foreach单选按钮显示更多信息
foreach radio button show more info
我试图为每个单选按钮制作,当点击它以显示带有更多关于点击标题的信息的div时,当点击另一个单选按钮时,显示关于该单选按钮的信息并隐藏另一个点击的按钮:
HTML:
<input type="radio" id="1" />
<div class="event1">
content..
</div>
<input type="radio" id="2" />
<div class="event2">
content..
</div>
<input type="radio" id="3" />
<div class="event3">
content..
</div>
jQuery:
var i = 1;
while(i < 10) {
$('.event' + i).hide();
$("#" + i).click(function() {
$('.event' + i).show();
});
i++;
}
HTML
<input type="radio" name="radio" id="1" />
<div class="event">
content.. 1
</div>
<input type="radio" name="radio" id="2" />
<div class="event">
content.. 2
</div>
<input type="radio" name="radio" id="3" />
<div class="event">
content.. 3
</div>
JS-
$('input[name=radio]').click(function() {
$('.event').hide();
$(this).next('.event').show();
});
CSS
.event {
display: none;
}
Fiddlehttp://jsfiddle.net/UKn6D/
您可以尝试使用"each"更改循环
$(function(){
$("input[type='radio']").each(function(){
$(this).change(function(){
if ($(this).is(':checked'))
$(this).next().show();
else
$(this).next().hide();
});
});
});
如果你给无线电元素分配一个类来专门关注它们,那将是更可取的。像"radioElements"这样的东西就足够了。或者,您也可以将id与启动器一起使用:"radio_1"、"radio_2",然后使用输入[id^='radio_']。
在所有情况下,您都可以使用"each"函数。
更深入地说,如果你想切断所有其他无线电"信息",请将其更改为:
$(function(){
$("input[type='radio']").each(function(){
$(this).change(function(){
if ($(this).is(':checked')) {
$("input[type='radio']").next().hide();
$(this).next().show();
}
});
});
});
$('input[type="radio"]').on('change', function() {
var id = $(this).attr('id'); //Get the ID from the selected radio button
$('div:visible').hide(); //Hide visible Divs
$('div.event' + id).show(); //Show matched Div
});
您需要为div提供一个额外的类名,并在此处更新jQuery代码。您还需要确保为输入元素指定一个name属性,以便它们都是同一组的一部分——假设它们是。
与其有一段时间看起来像那样,为什么不简单地使用呢
<div id="input-container">
<input class="clickable" />
<div class="content"></div>
</div>
这将适用于多个,jQuery可以像这个一样
$('#input-container input.clickable').click(function() {
$(this).parent().find('div.content').hide();
$(this).next('div.content').show();
});
我还没有真正测试过以上内容,但我相信它应该对你有效;拥有容器ID的原因只是为了加快jQuery的速度,因为通过#elementID第一个连接会更快
相关文章:
- Jquery on单击“显示信息”
- 如何在完整日历中的当天点击时显示活动详细信息
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 谷歌地图-数据库中的标记只显示最后一行的信息
- 谷歌地图信息窗口为每个标记显示相同的内容
- Cartodb信息窗口未在地图上显示变量
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- 地图标记信息不显示
- Json阵列的详细信息显示在三页的angularjs中
- 如何创建multiselect来显示Django中每个选定项的详细信息
- 如何在显示多个标记时单击另一个标记时关闭信息窗口
- 数据应该只显示与我单击的按钮有关的信息
- 谷歌地图API-信息窗口显示谷歌位置API信息
- 在knocket js中显示json对象的详细信息
- 在 AngularJS 中显示信息的标记存在问题
- Google 地图信息窗口仅显示首次点击时的信息
- jQuery基于下拉信息显示信息
- 使用谷歌地图过境信息显示旅行时间
- 根据用户信息显示不同的图像
- 点击里面的点击功能导致警告信息显示不止一次- Jquery/Javascript