使用隐藏的div时,复选框检查不起作用

时间:2011-05-20 12:55:00

标签: jquery asp.net-mvc

我有一个下拉列表( lbProperty ),当值选择值为2时, div1 显示但是最后一行 textbox1 textbox2 是隐藏的。这没关系。

当显示 div1 时,对 check 事件没有影响,我从未看到“点击!”。

有什么想法吗?

谢谢,

在主页:

@model DPI_MVC3Razor.Models.MyModel
$(document).ready(function () {
    $('#div1').hide();

    $('#lbProperty').change(function () {
        var result = $(this).val();
        $('#div1').hide();
        if (result == 2)
            $('#div1').show();
    });

    if ($('#checkbox1').attr('checked')) {
        alert("Click!");
    }
});

<div id="div1">
    @Html.Partial("div1Content", Model)
</div>

在“div1Content”中

@model DPI_MVC3Razor.Models.MyModel

<script type="text/javascript">
    $(document).ready(function () {
        $(".jcsss1").hide();
    });
</script>

<table>
<tr>
    <td>AAAAA</td>
    <td>@Html.CheckBox("chk9", Model.IsOK)</td>       
</tr>
<tr class="jcsss1">
    <td>BBBBB</td>
    <td>@Html.TextBox("textbox1", Model.MyValue1)</td>
</tr>
<tr class="jcsss1">
    <td>CCCCC</td>
    <td>@Html.TextBox("textbox2", Model.MyValue2)</td>
</tr>
</table>

1 个答案:

答案 0 :(得分:1)

你没有在支票活动上放置任何东西。

if ($('#checkbox1').attr('checked')) {
        alert("Click!");
    }

此代码仅在document.ready内,这意味着它只在DOM完成加载时执行一次。

你想要这个:

$('#checkbox1').click(function(){
    if ($(this).attr('checked')) {
        alert("Click!");
    }
});