2014-03-26 55 views
0

我在许多行上有7个单选按钮(行是动态的),我试图实现两件事情。在单选按钮上显示隐藏单击了

  1. 在单选按钮悬停 - 显示/隐藏div和它被点击时,保持div(pin it)。我设法隐藏悬停和点击隐藏的div。但是,当我单击同一行的单选按钮时,它会失败。

  2. 默认情况下会在加载页面时检查待处理单选按钮。如果用户没有从待处理状态切换到其他单选按钮,或者在更改回到待处理状态(如果所有单选按钮都处于待处理状态),则警报需要显示说明(“没有记录已更改”)。

我甚至不介意我们是否有其他方式。我们使用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());  
}); 
+0

1)你说什么? “失败”,是什么呢? 2)你有什么尝试? –

+0

我的意思是,如果我点击同一行的其他单选按钮,前面的单选按钮'div仍然保留。请点击一行中的几个单选按钮。 – 19eggs

回答

1

有关于你的代码中的几句话:

首先,是使所有r-title可见,然后隐藏它们的负载是没有意义的。您应该使用css display: none默认隐藏它们。

此外,每次单击单选按钮时都需要隐藏r-title。点击隐藏同一行的所有r-title,并只显示与单选按钮关联的那一个。

创建一个函数,该函数将显示加载时所选无线电的文本(或者在服务器端用任何生成页面的方式进行操作)。

一切我指出,你可以在此看到小提琴:http://jsfiddle.net/jj4Uv/10/

此外,还要确保你包在onLoad事件(或$(document).ready())的脚本。

让我知道如果这是你所需要的。

+0

非常感谢。我们正在使用DHTMLX Grid,您的建议非常感谢。任何机会看警报(点2) – 19eggs

+0

我注意到你点击悬停不工作的最后一个电台。说你悬停,然后点击确定,最后点击一个是公平的。 Fair的悬停不起作用。然后,如果你点击公平确定不起作用。我不明白这是为什么。 –

+0

@ 19eggs你已经有了计数器,这只是添加'if(counter == 0)alert();'的问题。对? –

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(); 
}); 
+0

非常感谢。它像一个魅力。任何解决方案点数2 ..警报... – 19eggs

相关问题