使用样式按钮时,jQuery返回错误的选中单选按钮值

我正在使用jQuery插件ScrewDefaultButtons来设置我的单选按钮的样式,但它似乎带有副作用,它通过jQuery获取它时不会返回正确的值。 我在点击它时运行一个函数,我试图获取用户选择的单选按钮的值,但它似乎返回先前选择的单选按钮的值而不是刚刚选择的单选按钮的值。

如果我删除类pretty_rb ,它禁用样式,那么它工作正常。

我试图通过以下方式获得价值:

 jQuery('input[name=tax_account_type]:checked').val(); 

我的HTML:

   

编辑:小提琴: http : //jsfiddle.net/94UtB/2/

问题是ScrewDefaultButtonsinput元素包装在div ,然后隐藏input元素。
此div有一个click事件,用于检查正确的隐藏input元素。
然而。 由于您有一个onClick事件,因此您的事件在更改之前运行。
这就是为什么你得到old价值。

要解决此问题,请在调用screwDefaultButtons 添加以下代码:

 $('.styledRadio').on('click', updateRegForm); 

要么

 $('.pretty_rb').on('click', updateRegForm); 

请记住从HTML中删除onlick属性。