[英]Save value of hidden field and radio input value when a radio button is checked using 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/
問題在於ScrewDefaultButtons
將input
元素包裝在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.