2011-12-06 97 views
0

我一直在處理表單元素替換腳本 - 用可以樣式化的div替換常規表單元素 - 但我遇到了單選按鈕的問題。我不知道如何選擇另一個按鈕時刪除選中的替換按鈕的「選定」類。jQuery - 當單選按鈕未選中時從元素中刪除類

我包括我在這個小提琴代碼: http://jsfiddle.net/zumwalt/eEvPE/3/

任何幫助,不勝感激!

+1

'var id = $(this).attr('id'); var radio = $('input [id =''+ id +'「''');'哎呀。 –

+0

是的,我認爲這不是最聰明的舉動。我對寫這些東西相當陌生。 – Zumwalt

回答

1

你只需要添加下面一行在點擊處理程序清除所有無線電設備的selected類,將它添加到被點擊的一個前:使用

$(".radio").removeClass("selected"); 

Updated fiddle here

+0

如果在同一頁面中有多個具有不同名稱的單選按鈕會怎麼樣?這將刪除所有的班級。 –

+0

太簡單了。我一直在看這太久。謝謝您的幫助。 @Interstellar_Coder - 應用程序的性質使得這是一個非問題,但這是一個很好的觀點。 – Zumwalt

0

removeClass()中刪除所有按鈕中的'selected'類,然後添加到單擊的按鈕上。但是,您應該只從同一個廣播組中的按鈕中刪除類。有幾種方法可以實現這一點。

您可以要求所有按鈕位於一個div元素中,並只更新其中的按鈕。 或者您可以將包含name屬性的類從原始收音機添加到您的按鈕,並僅更新具有此類的按鈕。 或者你可以添加額外的屬性到你的按鈕,其值等於原始無線電的name屬性,並只更新具有正確屬性的按鈕。看這個小提琴:http://jsfiddle.net/n3PUe/

相關問題