Trong mã của bạn, jQuery chỉ tìm kiếm trường hợp đầu tiên của đầu vào có tên q12_3
, trong trường hợp này có giá trị là 1
. Bạn muốn một đầu vào có tên q12_3
là :checked
.
$("#submit").click(() => {
const val = $('input[name=q12_3]:checked').val();
alert(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
Lưu ý rằng đoạn mã trên không giống như cách sử dụng .is(":checked")
. is()
Hàm của jQuery trả về một phần tử boolean (true hoặc false) chứ không phải (an).
Vì câu trả lời này tiếp tục nhận được nhiều sự chú ý, tôi cũng sẽ bao gồm một đoạn mã JavaScript đơn giản.
document.querySelector("#submit").addEventListener("click", () => {
const val = document.querySelector("input[name=q12_3]:checked").value;
alert(val);
});
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>