单选按钮选择更改事件不在MVC中触发

时间:2015-09-03 19:33:30

标签: jquery asp.net-mvc

我正在尝试根据选择的单选按钮显示隐藏图像。但似乎jQuery脚本永远不会激发选择更改。我的代码如下所示

    @Html.Label("Select Chart Type")
            @Html.RadioButton("rbChartType", "1", isChecked: true) @Html.Label("Chart1")
            @Html.RadioButton("rbChartType", "2", isChecked: false) @Html.Label("Chart2")
 <img src="@Url.Action("GetChart1")" alt="Billing Graph" class="img-responsive" id="imgChart1" />
        <img src="@Url.Action("GetChart2")" alt="Usage Graph" class="img-responsive" id="imgChart2" style="visibility:hidden" />

脚本

$(document).ready(function () {
    $("input[name='rbChartType']").change(function () {
        alert('hi');
        var selectedRadio = $("input[name='rbChartType']:checked").val();
        if (selectedRadio == 1) {
            $('#imgChart1').show();
            $('#imgChart2').hide();
        }
        else {
            $('#imgChart1').hide();
            $('#imgChart2').show();
        }
    });
});

我看不到我的警报了!

1 个答案:

答案 0 :(得分:1)

首先,如果您有许多单选按钮,则无需按名称选择单选按钮(至少不在事件处理程序中),您可以使用类名进行选择。

其次,如果您将元素设置为|11-12-2015 | 12 | 22 | 11 | |12-12-2015 | 32 | 12 | 14 | |13-12-2015 | 12 | 22 | 11 | |14-12-2015 | 12 | 22 | 11 | ,则可以使用visibility:hidden再次显示它。或者将其设置为$("imgChart2").css('visibility', 'visible');并坚持使用display:none来显示它。

试试这个:

show()