在单选按钮上显示隐藏单击

时间:2014-03-26 17:04:10

标签: jquery

我在很多行上有7个单选按钮(行是动态的),我正在努力实现两件事。

  1. 单击按钮悬停 - 显示/隐藏div,单击它时保留div(将其固定)。我设法在悬停时显示隐藏,然后点击固定隐藏的div。但是,当我单击同一行的单选按钮时,它会失败。

  2. 默认情况下,页面加载时会检查待处理单选按钮。如果用户没有从挂起更改为其他单选按钮或更改后返回挂起(如果所有单选按钮都处于挂起状态),则需要显示警告(“没有记录已更改”)。

  3. 我甚至不介意我们做其他任何方式。我们使用Jquery 1.6版并支持IE 8.我们不需要使用data()可以使用我试过的hasClass。

     $(".r-title").hide();
     $("input:radio").hover(function() {
    if(!$(this).hasClass('pinned'))
    $(this).prev('.r-title').toggle();
     });
    

    Fiddle here

    $(".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());    
     });
    

2 个答案:

答案 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();  
});