0

我有单选按钮,只有“是”和“否”作为选项。

<input name="paperAvailable" type="radio" value="Yes" /> Yes
<input name="paperAvailable" type="radio" value="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");
        }

});

});
4

1 回答 1

2

2个问题

  1. 字符串比较区分大小写 - 您将值设置为Yes,但相比之下您正在测试YES
  2. $("input[name='paperAvailable']").val()将始终返回具有 name 的第一个输入元素的值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");
        }
    });
});

演示:小提琴

于 2013-10-09T08:54:29.673 回答