我在很多行上有7个单选按钮(行是动态的),我正在努力实现两件事。
单击按钮悬停 - 显示/隐藏div,单击它时保留div(将其固定)。我设法在悬停时显示隐藏,然后点击固定隐藏的div。但是,当我单击同一行的单选按钮时,它会失败。
默认情况下,页面加载时会检查待处理单选按钮。如果用户没有从挂起更改为其他单选按钮或更改后返回挂起(如果所有单选按钮都处于挂起状态),则需要显示警告(“没有记录已更改”)。
我甚至不介意我们做其他任何方式。我们使用Jquery 1.6版并支持IE 8.我们不需要使用data()可以使用我试过的hasClass。
$(".r-title").hide();
$("input:radio").hover(function() {
if(!$(this).hasClass('pinned'))
$(this).prev('.r-title').toggle();
});
$(".r-title").hide();
$("input:radio").hover(function() {
if(!$(this).data('pinned'))
$(this).prev('.r-title').toggle();
});
$("input:radio").click(function () {
var totalRd = $('table').find(':not(.pend) > input:radio:checked').length;
$("#totalRd .rd-count").html(totalRd);
$(this).data('pinned',$("r-title").show());
});
答案 0 :(得分:1)
您的代码有一些评论:
首先,没有必要让所有r-title
可见,然后将它们隐藏起来。您应该默认使用css display: none
隐藏它们。
此外,每次单击单选按钮时都需要隐藏r-title
。点击隐藏同一行的所有r-title
,仅显示与单选按钮关联的那个。
创建一个功能,可以在加载时显示所选无线电的文本(或者使用您生成页面的任何内容在服务器端进行操作)。
我指出的一切都可以看到这个小提琴:http://jsfiddle.net/jj4Uv/10/
另外,请确保将脚本包装在onLoad事件(或$(document).ready()
)中。
请告诉我这是否是你需要的。
答案 1 :(得分:1)
http://jsfiddle.net/jabark/jj4Uv/11/
$("input:radio").hover(function() {
$(this).prev('.r-title').show();
}, function() {
if (!$(this).is(':checked')) {
$(this).prev('.r-title').hide();
}
});
$("input:radio").click(function () {
$(this).parent().parent().find('.r-title').hide()
var totalRd = $('table').find(':not(.pend) > input:radio:checked').length;
$("#totalRd .rd-count").html(totalRd);
$(this).prev('.r-title').show();
});