2017-04-03 197 views
0

我有這些單選按鈕。用jquery/Ajax獲取單選按鈕值

<input type="radio" id="flip" name="flip" value="Head" checked="checked" /> Head 
<input type="radio" id="flip" name="flip" value="Tail" /> Tail 

我試圖處理與阿賈克斯一個形式,我試圖用這個

var dataString = { 
    flip: $("#flip").val() 
}; 
console.log(dataString.flip); 

得到這些單選按鈕的值現在,當我做console.log檢查值其發送我總是得到Head而不是尾巴,即使我選擇尾巴作爲選擇。任何人都可以幫助我,爲什麼這樣呢?

+2

你不能有多個相同的ID! – Luke

+0

'id =「flip」'=>'class =「flip」' - '$(「#flip」)'=>'$(「。flip」)' –

+1

[ID必須是唯一的](http: /stackoverflow.com/questions/5611963/can-multiple-different-html-elements-have-the-same-id-if-theyre-different-eleme),因爲它會導致[JavaScript](https:///developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)和CSS,當您嘗試與這些元素進行交互時。 –

回答

4

獲取價值得到選定的單選按鈕值:

$("input[name='flip']:checked").val(); 
0

你不能有多次相同的ID!這是爲什麼它只顯示其中之一的重要原因。

+0

那麼這是什麼解決方案? –

+0

使用屬性選擇器代替'[name =「flip」]''。 – evolutionxbox

0

ID #flip是一個獨特的元素(您不能有多於#flip元素)。使用.flip而不是#flip

,改變id="flip"class="flip"

+0

好吧讓我試試... –

2

id不能重複。它必須unique.In這種情況下,你可以使用name屬性

使用名稱按名稱選擇不ID

$("input:radio[name=flip]:checked").val(); 
+0

這應該是我猜..這給了我結果不是你的..請檢查'$(「輸入[名稱='翻轉']:選中」)。val();' –

+0

請檢查此https://api.jquery.com/checked-selector/ – brk