如何在第二次打开时仅刷新jquery对话框的内容

时间:2012-12-03 12:36:56

标签: javascript jquery asp.net html jquery-dialog

我在点击功能中打开一个jquery对话框。但是,如果我关闭对话框并第二次打开它,对话框内的内容保持不变。我需要对话框中的文本框为空,而我连续打开它..

这是我的aspx代码:

<div>
<span id="id_PrivateSpace" style="color: #88b807; margin-left: 839px;
                            margin-top: -12px; cursor: pointer; display: block">Create</span>
</div>


<div id="thedialog" style="display: none; overflow: hidden">
                    <table id="table" style="border-spacing: 7px 7px; margin-left: 5px">
                        <tr>
                            <td>
                                <span class="SubHeading" style="font-size: 10pt;">Private Space Name </span>
                            </td>
                            <td>
                                <asp:TextBox ID="txt_spacename" runat="server" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <span class="SubHeading" style="font-size: 10pt;">Private Space Description </span>
                            </td>
                            <td>
                                <asp:TextBox ID="txt_spacedesc" TextMode="MultiLine" runat="server" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <span class="SubHeading" style="font-size: 10pt;">Users </span>
                            </td>
                            <td>

                                <input type="text" id="txt_users" />
                            </td>
                            <td>
                                <asp:Button ID="btn_addusers" Text="Add" Style="margin-left: 10px;" runat="server" />
                            </td>
                            <td rowspan="5">
                                <table id="users_grid" align="left">
                                </table>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <span class="SubHeading" style="font-size: 10pt;">DL </span>
                            </td>
                            <td>
                                <asp:TextBox ID="txt_Add_dl" TextMode="MultiLine" runat="server" />
                            </td>
                        </tr>
                    </table>
                    <input type="button" id="Btn_Submit" value="Create" style="margin-left: 335px; margin-top: 35px;"
                        runat="server" />
                </div>

这是我的js代码:

 $("#thedialog").dialog({
                autoOpen: false,
                title: 'Create Private space',
                modal: true,
                position: 'center',
                width: 900

            });


            $('#id_PrivateSpace').click(function() {
                $('#thedialog').dialog('open');
                return false;
            });

我应该添加什么才能刷新对话框的内容?

4 个答案:

答案 0 :(得分:3)

我想你可以试试:

$('#id_PrivateSpace').click(function() {
    $("#thedialog").find('input:text, textarea').val('').attr('placeholder','Enter some value');
    $("#thedialog").find('select').val('');//you need to have and option like <option value="">Please Select</option> in your select options list
    $('#thedialog').dialog('open');
    return false;
}); 

对于你的aspx Dropdownlist,请确保将AppendDataBoundItems设置为true;并设置OnDataBinding事件

<asp:DropDownList id="myDdl" runat="server" OnDataBinding="Ddl_Databinding" >
</asp:DropDownList>

And in your code behind, Add:

protected void Ddl_Databinding(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    ddl.Items.Add(new ListItem("Please Select", ""));
}

答案 1 :(得分:1)

在close上添加以下函数以销毁jquery对话框的特定实例:

close: function()
    {
        $(this).dialog('close');
        $(this).dialog('destroy');
        $(this).html("");
    },

这是我在动态创建对话框时遇到的类似问题的代码。

答案 2 :(得分:0)

$('#id_PrivateSpace').click(function() {
  $("#thedialog input[type='text']").val('');
  $("#thedialog textarea").html('');
  $('#thedialog').dialog('open');
  return false;
}); 

答案 3 :(得分:0)

尝试,

<form id="myform>
<div id =thedialog> ....... </div>
</form>

关闭对话框时,请调用以下功能

    document.getElementById("form1").reset();