我正在尝试根据选择的单选按钮显示隐藏图像。但似乎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();
}
});
});
我看不到我的警报了!
答案 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()