我有一个对话框,其中有2个文本框。对话框销毁后,我想重置文本框值。我怎样才能做到这一点?

如果我已在文本框中输入值并单击“取消”,则重新打开对话框将显示先前输入的数据。

function setDialogWindows($element) {
      $('#change').dialog({
           autoOpen: true,
           width: 380,
           buttons: {
              "Cancel": function() {
                   $(this).dialog('destroy');
              },
              "Accept": function() {
              }
     }):
 }




$('#link').click(function() {
    setDialogWindows('#change');
});




<div id="change" title="Change password" >
    <input type="hidden" id="User_Name" name="Name"/>
    <input type="textbox" id="text1" />
    <input type="textbox" id="text2" />
</div>

最佳答案

首先,类型textbox不存在。改用textpassword(用于屏蔽字符)。

使用此代码来清理输入:

"Accept": function() {
    $("#text1").val('');
    $("#text2").val('');
}




最后,我重写了代码:

HTML:

<a href="javascript:void(0);" id="link">Show me a dialog!</a>
<div id="change" title="Change password">
    <input type="hidden" id="User_Name" name="Name"/>
    <input type="text" id="text1"/>
    <input type="text" id="text2"/>
</div>


JavaScript:

$('#link').click(function() {
    setDialogWindows();
});

function setDialogWindows() {
    $('#change').dialog({
        autoOpen: true,
        width: 380,
        buttons: {
            "Cancel": function() {
                $(this).dialog('close');
            },
            "Accept": function() {
                /* Place your handler here. */
                $(this).dialog('close');
            }
        },
        close: function() {
                $("#text1").val('');
                $("#text2").val('');
        }
   });
}


您可以将$(this).dialog('destroy');"Cancel"按钮一起使用,但不会更改您的input字段,因为它们是独立于对话框声明的。因此,您应该手动清洁它们。

09-25 17:03
查看更多