我在该网页上有一个网页和一个网页,有一个“添加”按钮,提供用户使用弹出窗口向该网格添加更多记录的选项,每个行上还有“编辑”选项。 webgrid以及“添加”和“编辑”弹出窗口的字段和模型属性是相同的......
我使用jquery对字段进行了一些验证,如果所有字段都包含一些数据,则只有“添加”和“编辑”弹出窗口中的“保存”按钮才会启用,如果任何字段为空,则保存按钮将被禁用
问题是当用户打开“添加记录”弹出窗口并关闭弹出窗口而不输入任何数据时,然后当他打开“编辑记录”弹出窗口时,即使在包含所有字段后,“保存”按钮也被禁用。 ..
所以我只是在点击取消按钮时清除'AddUserDiv'
$('#DivAddUser').html('');
这清除了上一个问题,但它创建了一个新问题,当我第二次打开“添加记录”弹出窗口时,空弹出窗口正在打开而且没有控件
当我刷新页面并单击“添加记录”弹出窗口时,所有内容都是第一次正常工作
答案 0 :(得分:0)
您必须使用$('#elementID').val('');
清除输入字段
如果您使用.html('')
,它将清除该div中的html
答案 1 :(得分:0)
使用
清除HTML后$('#DivAddUser').html('');
除非您为其指定新的HTML,否则它将保持清除状态,因此,正如预期的那样,之前的布局将不可见。
所以,你需要做的是清除/重置div中所有元素的值。
编辑:根据您的评论
在将上述清除功能调用为
之前,您可以将以前的HTML存储在变量中previousHTML = $('#DivAddUser').html()
//should be done just once in the beginning
然后致电
$('#DivAddUser').html('');
然后显示'添加记录'弹出你设置
$('#DivAddUser').html(previousHTML);
但请注意,这不是从HTML网页中清除值的正确方法。你应该写一个clear()函数,你应该在其中引用页面上的每个元素并明确地清除或设置默认值。