在JQuery对话框中隐藏和显示Div内容

时间:2012-05-25 22:28:40

标签: c# javascript jquery ajax model-view-controller

我在Div中有一个带有标签及其验证摘要的字段。它是模态JQuery对话框的一部分:

<table>
.
.
.
<div id="user-date-add">
                    <tr>
                        <td width="100">
                            <div class="editor-label">
                                @Html.LabelFor(model => model.User.Date)
                            </div>
                        </td>
                        <td>
                            <div class="editor-field">
                                @Html.EditorFor(model => model.User.Date)
                                @Html.ValidationMessageFor(model => model.User.Date)
                            </div>
                        </td>

                    </tr>
                </div>
.
.
.

根据JavaScript函数内部的某个条件,我需要隐藏或显示此部分的日期字段和该Div内的相关数据

所以我试过了:

   if(condition)
    {
     $("#user-date-add").hide();
    }
     else
    {
      $("#user-date-add").show();
    }

我也试图利用:

$("#user-date-add").trigger();

它不起作用。表单上的字段甚至不闪烁。是因为div是在模态弹出窗口内渲染的吗?或者是因为里面有输入标签? 顺便说一句,编辑日期字段显示为DatePicker。

我该如何使这项工作? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

假设对话框的ID为dialog-box,那么您可以尝试使用 $('#dialog-box #user-date-add').hide();这可能是因为对话框实例化的方式,可能会将现有的div留在那里,这意味着你的jQuery选择器无法正常工作。

尝试在Firefox中使用Firebug或在Chrome中使用Web Inspector在控制台中尝试不同类型的内容,例如以下内容。

$('#user-date-add');
$('[id=user-date-add]');
$('[id=user-date-add');
$('.editor-label');

希望它有所帮助, 戴夫

答案 1 :(得分:0)

显然在表格单元格内部使用DIV标签无效。

我删除了div并将ID添加到我需要的实际行.Hide()/ .Show()。

                <tr id="user-date-add">
                    <td width="100">
                        <div class="editor-label">
                            @Html.LabelFor(model => model.User.Date)
                        </div>
                    </td>
                    <td>
                        <div class="editor-field">
                            @Html.EditorFor(model => model.User.Date)
                            @Html.ValidationMessageFor(model => model.User.Date)
                        </div>
                    </td>

                </tr>