簡體   English   中英

使用樣式按鈕時,jQuery返回不正確的選中單選按鈕值

[英]jQuery returning incorrect value of checked radio button when using styled buttons

我正在使用jQuery插件ScrewDefaultButtons設置單選按鈕的樣式,但似乎有一個副作用,即通過jQuery獲取時,它不會返回正確的值。 單擊它們時,我正在運行一個函數,並且嘗試獲取用戶選擇的單選按鈕的值,但是它似乎返回先前選擇的單選按鈕的值,而不是剛剛選擇的那個。

如果我刪除了pretty_rb類,它將禁用樣式設置,那么它將正常工作。

我試圖通過以下方式獲得價值:

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

我的HTML:

<input type="radio" name="tax_account_type" id="individual" class="pretty_rb" value="0" onclick="updateRegForm();" checked required>
<input type="radio" name="tax_account_type" id="business" class="pretty_rb" value="1" onclick="updateRegForm();" required>

編輯:小提琴: 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屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM