5

クリック関数でjqueryダイアログを開いています。しかし、ダイアログを閉じて2回目に開くと、ダイアログ内の内容は同じままです。連続して開く間、ダイアログ内のテキストボックスを空にする必要があります。

これは私の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

4 に答える 4

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ドロップダウンリストでは、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", ""));
}
于 2012-12-03T12:42:09.410 に答える
1

jqueryダイアログの特定のインスタンスを破棄するには、閉じるときに次の関数を追加します。

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

これは、その場でダイアログを作成するときに同様の問題を抱えて使用しなければならなかったコードです。

于 2015-06-06T01:52:40.683 に答える
0
$('#id_PrivateSpace').click(function() {
  $("#thedialog input[type='text']").val('');
  $("#thedialog textarea").html('');
  $('#thedialog').dialog('open');
  return false;
}); 
于 2012-12-03T12:44:54.927 に答える
0

試す、

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

ダイアログボックスを閉じるときに、以下の関数を呼び出します

    document.getElementById("form1").reset();
于 2012-12-03T12:46:15.883 に答える