2015-05-13 49 views
0

我試圖從幾個單選按鈕提取值,但它不起作用。我知道有一個工作答案,如果<form="name of form" >宣佈,但我不希望在其中聲明形式,因爲我呼應出那些單選按鈕。使用jquery獲取電臺值不工作,沒有使用<form>聲明

下面是HTML代碼:

<body> 
    <input id=myForm type="radio" name="radioName" value="1" /> 1 <br /> 
    <input id=myForm type="radio" name="radioName" value="2" /> 2 <br /> 
    <input id=myForm type="radio" name="radioName" value="3" /> 3 <br /> 
</body> 

這裏是Javascript代碼:

$('#myForm').on('change', function() { 
    alert($('[name=radioName]:checked', '#myForm').val()); 
}); 

如果按鈕1被按下時,它給出了一個消息undefined variable,但按壓按鈕2和3給出了沒有結果。

出了什麼問題?

+1

Id在html中是唯一的 –

+2

DUPLICATE IDs !!!!!!!!! – Tushar

回答

3

使用類而不是ID

<input class="myForm" type="radio" name="radioName" value="1" /> 1 <br /> 
    <input class="myForm" type="radio" name="radioName" value="2" /> 2 <br /> 
    <input class="myForm" type="radio" name="radioName" value="3" /> 3 <br /> 

您的jQuery是

$('.myForm').on('change', function() { 
    alert(this.value); 
}); 

Fiddle

+0

謝謝你的工作,你是否知道我有一個重複的ID ID爲假設是唯一的 – peekaboo

+0

Super ..很高興幫助你 –

0

而不是重複的ID,你可以使用CSS類的這個像

<body> 
    <input class=myForm type="radio" name="radioName" value="1" /> 1 <br /> 
    <input class=myForm type="radio" name="radioName" value="2" /> 2 <br /> 
    <input class=myForm type="radio" name="radioName" value="3" /> 3 <br /> 
    </body> 

不是試圖在它的jQuery

$('.myForm').on('change', function() { 
     alert($("input:checked").val() + " is checked!"); 
    }); 

如果你不想提供的css CALSS比你也可以在下面做,因爲只有輸入單選按鈕,你也可以試試

$("input:radio").on("click", function() { 
    alert($("input:checked").val() + " is checked!"); 
}); 

你也可以嘗試只是名稱選擇

$("input:radio[name='radioName']").on("click", function() { 
     alert($("input:checked").val() + " is checked!"); 
    }); 
+0

該警報是不必要的複雜 – mplungjan

+0

應該是class =「myform」 –

+0

你的代碼在jfiddle上不工作 – peekaboo