2012-08-08 51 views
0

我想用jQuery中的選中單選按鈕執行一些操作,但我不太確定如何執行此操作。如何使用jQuery中的選中單選按鈕執行功能

我有一個單選按鈕組和我使用此代碼檢查的單選按鈕:

var solid_checked = ($('#solidcolor input[name=asw_options[box_background_color]]:checked').val()); 

我怎麼能說現在添加CSS類到檢查單選按鈕。我想添加一個CSS類只有選中的單選按鈕,而不是其他人。

試圖做這樣的事情:

$(this).addClass('selected').siblings().removeClass('selected'); 

編輯

什麼我做的是使用圖像作爲使用CSS和jQuery單選按鈕。 你點擊一個圖像來選擇它,並最終在它周圍有一個橙色的邊框。 然後保存設置。

當頁面重新加載時,我希望選中的單選按鈕(圖像)保持橙色邊框,但我無法讓它工作。

這是jQuery的,我最初用來突出的單選按鈕(圖)

$('#solidcolor input:radio').addClass('input_hidden'); 
$('#solidcolor label').click(function() { 
    $(this).addClass('selected').siblings().removeClass('selected'); 
}); 

如何我現在補充:

$(this).addClass('selected'); 

類的腳本,使其凸顯選中單選按鈕?

要努力實現這樣的事情:

if($("input[name='asw_options[box_background_color]']").is(':checked')) { 
$(this).css("border", "solid 3px orange"); 
} 

if($("input[name='asw_options[box_background_color]']").is(':checked')) { 
$(this).addClass('selected'); 
} 

但這些工作。

+0

那麼什麼是不工作?還張貼您的HTML代碼和演示甚至更好。 – xdazz 2012-08-08 02:45:40

+0

如果您想'保存'設置,以便頁面在重新加載時記住它,那麼您需要這樣做:保存它。將設置發佈到您的服務器並保存(可能使用ajax),然後在您的加載頁面方法中加載設置並將其附加到目標元素 – nbrooks 2012-08-08 03:16:33

+0

我可以保存設置沒有問題。當頁面重新加載時,我可以看到被選中的單選按鈕(如果我註釋掉第一個jQuery代碼行)。我只是想添加一個CSS類到那個特定的單選按鈕。 – Jason 2012-08-08 03:19:57

回答

3

添加一個類的無線電組的檢查元素,使用:checked只選擇選中的元素,然後添加類:

$('input[name=radiogroup]:checked').addClass('classname'); 

http://api.jquery.com/checked-selector/

+0

我閱讀jQuery網站,但該網站給出了一個「點擊」事件的例子。我想在頁面加載上實現jQuery。 – Jason 2012-08-08 03:06:53

+0

@Jason在頁面加載時運行代碼(或綁定事件),把它放在'$(document).ready(function(){/ * ... * /});'中。你是這個意思嗎? – Flash 2012-08-08 04:11:07

+0

我有一個包裝內的jQuery。我只是將封裝留下來縮短代碼。 – Jason 2012-08-08 06:11:10

0

你可以嘗試change事件:

$('#solidcolor input[name^="asw_options"]').change(function(){ 
    $(this).addClass('selected').siblings().removeClass('selected'); 
}) 
相關問題