2014-03-26 198 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

相關問題