我有单选按钮,只有“是”和“否”作为选项。
<input name="paperAvailable" type="radio" value="Yes" /> Yes
<input name="paperAvailable" type="radio" value="No"> No
我希望隐藏几个表行(当选择“No”选项时,使用jQuery脚本在类名'paperavailable'下),并在用户选择“是”时再次显示行
不知何故,该函数似乎只在页面加载时工作一次。是因为我将函数放在document.ready函数中?
$(document).ready(function(){
$('.paperavailable').hide();
//Paper Available columns
$("input[name='paperAvailable']").click(function() {
if ($("input[name='paperAvailable']").val() == "YES") {
$(".paperavailable").show();
}
else {
$(".paperavailable").hide("slow");
}
});
});
答案 0 :(得分:2)
2个问题
Yes
,但相比之下,您正在针对YES
进行测试$("input[name='paperAvailable']").val()
将始终返回名为paperAvailable
的第一个输入元素的值,而您需要获取已检查元素的值您需要测试选中的收音机框
$(document).ready(function () {
var $paper = $('.paperavailable').hide();
//Paper Available columns
var $radios = $("input[name='paperAvailable']").click(function () {
if ($radios.filter(':checked').val() == "Yes") {
$paper.show();
} else {
$paper.hide("slow");
}
});
});
演示:Fiddle