用jquery/Ajax获取单选按钮值

问题描述:

我有这些单选按钮。用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: /*.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,当您尝试与这些元素进行交互时。 –

获取价值得到选定的单选按钮值:

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

你不能有多次相同的ID!这是为什么它只显示其中之一的重要原因。

+0

那么这是什么解决方案? –

+0

使用属性选择器代替'[name =“flip”]''。 – evolutionxbox

ID #flip是一个独特的元素(您不能有多于#flip元素)。使用.flip而不是#flip

,改变id="flip"class="flip"

+0

好吧让我试试... –

id不能重复。它必须unique.In这种情况下,你可以使用name属性

使用名称按名称选择不ID

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

这应该是我猜..这给了我结果不是你的..请检查'$(“输入[名称='翻转']:选中”)。val();' –

+0

请检查此https://api.jquery.com/checked-selector/ – brk