现在在我的设置中,我有一个菜单,通过ajax从另一个页面加载内容,并且在该内容中我有另一个子菜单,也用另一个ajax请求调用内容。
方案
我点击主菜单中的文件,然后点击从子菜单查看,然后点击从那里创建(使用另一个ajax请求)
在创建内容是我使用验证插件的地方,所以就像我说的那样,当我关注它时,它可以正常工作,但是如果我再次从主菜单中点击文件,则验证错误仍然存在于它们弹出的位置。如果我从子菜单中单击“查看”,则验证错误会淡出。
我试图通过子菜单中的ajax调用,但现在使用主菜单来解决错误消失的问题。
主菜单脚本:
//------------------------------------------------------------------
// Pidget menu
//------------------------------------------------------------------
var content = '#main-content',
wrap = '#wrap';
$("nav a.files-menu-link").live('click', function({
$.validationEngine.closePrompt('.formError',true);
$(content).hide(200, function(){
$(wrap).load('files.php' + content, function(){
$(this).hide().html(data).slideDown(500);
});
})
return false;
});
子菜单脚本
$('a#prospect-file-link').live('click', function(){
$.validationEngine.closePrompt('.formError',true);
$.post('resources/ajax/ajax.php', {
action : 'prospects',
uid : uid
}, function(data){
$('#files-right-pane').hide().html(data).slideDown(500);
$(".alpha").click(function() {
$(this).find("span").toggleClass("expand-alpha-down");
$(this).next(".show").slideToggle();
return false;
});
});
return false;
});
然后创建新脚本
//-- Create new prospect
$('a.new-prospect').live('click', function(){
$('#files-right-pane').fadeOut(200);
$.post('resources/ajax/ajax.php', {
action : 'create_prospect',
uid : uid
}, function(data){
$('#files-right-pane').hide().html(data).slideDown(500);
selectBox('prospect-type', 'prospect-type-td');
selectBox('status', 'status-td');
selectBox('primary-number', 'primary-td');
selectBox('secondary-number', 'secondary-td');
mce('new-prospect-comments');
$("#new-prospect-form").validationEngine();
$('.state').autoSuggest('resources/ajax/suggest.php', {minChars: 2, matchCase: false, startText: '', asHtmlID: 'state'});
});
return false;
});
html标记
...
<td><input type="text" id="first_name" name="first_name" class="validate[required]" /></td>
<td><input type="text" id="middle_name" name="middle_name" /></td>
<td><input type="text" id="last_name" name="last_name" class="validate[required]" /></td>
...
这就是我的设置,我无法弄清楚.closePromp()在视图中有效但在主菜单链接中无效
答案 0 :(得分:0)
在我看来,在'function('。
)之后你缺少一个括号而不是:
$("nav a.files-menu-link").live('click', function({
它应该是:
$("nav a.files-menu-link").live('click', function(){