2011-07-07 45 views
0

我錯誤地認爲jquery或JS可以檢索單選按鈕的值嗎?我問的原因是因爲在我的代碼中,我用來檢查表單中所有字段的腳本似乎無法識別表單中的id="contact2"值,這是一個無線電組。我已經在jsfiddle.net上發佈了我的代碼,並希望得到一些有關我如何糾正此問題的反饋。非常感謝在jquery中獲取單選框值

小提琴:http://jsfiddle.net/xGrb9/

回答

6

你需要做的是這樣的:

$('input:radio[name=bar]:checked').val(); 

由於單選按鈕是如何檢查的/氾濫,它們的值被存儲。 (來自jQuery文檔)。您還需要確保單選按鈕具有不同的ID,這是一個典型的疑難問題。

最後,當測試一個單選按鈕是否沒有被選中時,請確保針對undefined進行測試,而不是跨瀏覽器的兼容性的空字符串。

編輯:看着你的代碼,你需要做兩件事: 1.更改按鈕的ID,如「contact2a」和「contact2b」,使它們是唯一的。 2.您var customer2 =行更改爲var contact2=$("input[name=contact2]:checked").val();

+0

那麼它會做一個if語句來確定這個值嗎?謝謝 – bollo

+0

不,我在jsfiddle上用我列出的代碼(新的var contact2 =)代碼行來測試你的設置,同時改變你單選按鈕的ID並且它工作,contact2被填充爲「是」或「否」 ,「即,具有選中的單選按鈕的值。 – shelhamer

+0

我用新的代碼更新了小提琴,它似乎不工作。應該發生的是,如果contact2的值爲空(未選中),則應該觸發該錯誤。這沒有發生。 HTTP://的jsfiddle。net/xGrb9/1/ – bollo

1

您應該能夠使用.VAL()

看到這個:http://api.jquery.com/val/

+0

這是正確的答案。投票沒有意義!我並沒有想太多的解釋是需要的,因爲我也提供了頁面,你可以去獲得更多的.val()方法的幫助! – Ayyoudy

+0

是的,提供到val頁面的鏈接是有幫助的,但它並不直接幫助解決bollo的問題。更有用的是說出需要改變什麼才能使之發揮作用。如果我們都只是發佈鏈接到文檔沒有任何其他細節,這對其他人沒有太大的幫助。 (順便說一句,這不是我投下的票)。 –

1

的兩個您的單選按鈕具有相同的ID。這在HTML中不起作用。您必須分別參考按鈕並選擇一個被選中的按鈕。

2

改變這一行:

var contact2=$("#contact2").val(); 

到:

var contact2=$('input[name="contact2"]:checked').val(); 

您需要檢查,因爲否則它發現兩個輸入端。

此外,從技術上講,所有ID都應該是唯一的,即不在頁面上的2個元素上使用。

+0

你和舍塔默幾乎在同一時間發佈了相同的答案。謝謝 – bollo

+0

除了你可以複製和粘貼我的:) –

1

你可以簡單地調用

$("[name=contact2]:checked").val()