我有2个输入类型,它们都是复选框。 我试图获得它们的价值,但它说这是“未定义的”。
<tr>
<td>
<input type='checkbox' class='gymyears'>
Yes
<input type='checkbox' class='gymyears'>
No
</td>
</tr>
var Gymyearsv = $(".gymyears").val();
答案 0 :(得分:0)
问题在于您的复选框没有值,这就是为什么它仍未定义的原因。您必须查找“已检查”:
var Gymyearsv = $(".gymyears");
function getState() {
Gymyearsv.each(function(i, checkbox) {
console.log(checkbox.checked);
});
}
// or use $('#yourID').is(":checked");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tr>
<td>
<input type='checkbox' class='gymyears'> Yes
<input type='checkbox' class='gymyears'> No
</td>
</tr>
<button onclick="getState();">get state</button>
或者如罗伊所说,您可以改用收音机:
function getState(){
console.log($("input[name=gymyears]:checked").val());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tr>
<td>
<input type='radio' name='gymyears' value="yes"> Yes
<input type='radio' name='gymyears' value="no"> No
</td>
</tr>
<button onclick="getState();">get state</button>