Jquery 如何仅在单击按钮时对菜单项执行操作

Jquery 如何仅在单击按钮时对菜单项执行操作,jquery,Jquery,我有一段代码,它有一个登录页面,如果我们点击登录按钮,就会弹出一个对话框。假设我只想在选择下拉列表中的特定项并单击对话框的“保存”按钮时导航到特定页面。是否有方法检查菜单中的特定项是否已选中,并且只有在单击按钮时才应执行与菜单项关联的操作。提前谢谢 $(文档).ready(函数(){ $('#btn1')。单击(函数(){ $(“#对话框窗体”)。对话框(“打开”); }); //对话框代码 $(“#对话框窗体”).dialog ({ 自动打开:错误, 身高:300, 宽度:350, 莫代尔

我有一段代码,它有一个登录页面,如果我们点击登录按钮,就会弹出一个对话框。假设我只想在选择下拉列表中的特定项并单击对话框的“保存”按钮时导航到特定页面。是否有方法检查菜单中的特定项是否已选中,并且只有在单击按钮时才应执行与菜单项关联的操作。提前谢谢


$(文档).ready(函数(){
$('#btn1')。单击(函数(){
$(“#对话框窗体”)。对话框(“打开”);
});
//对话框代码
$(“#对话框窗体”).dialog
({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:是的,
zIndex:1,
按钮:{
“保存”:函数(){
if($(“#name”).val()==”| |$(“#name”).val().length<5){
$(“#名称”).addClass(“错误”);
$(“#名称”).val(“”);
}
if($(“#密码”).val()==”| |$(“#密码”).val().length<5){
$(“#密码”).addClass(“错误”);
$(“#密码”).val(“”);
}
if($(“#email”).val()==”| |$(“#email”).val().length<5){
$(“#email”).addClass(“错误”);
$(“#电子邮件”).val(“”);
}
$('.下拉菜单>li:n子项(1')。单击(函数(){
window.location.href=”http://stackoverflow.com";
});
},
取消:函数(){
$(此).dialog(“关闭”);
$(“#名称”).val(“”);
$(“#密码”).val(“”);
$(“#电子邮件”).val(“”);
}
}
});
});

引导的登录模板
.错误{
边框颜色:#F00
}
请登录
电子邮件地址
密码
记得我吗
登录
名称

电子邮件
密码 男性 女性 下拉列表
试试这个:

    jQuery(document).ready(function($) {
       //remove the selected class from the element 
       $('.abc a').removeClass('selected')
       $('.abc a').click( function(){
          //add the class to the selected element  
          $(this).addClass('selected')
       })

       $('#btn1').click(function(){
            var selectedLocation = $('.abc a.selected').attr('href')
            window.location = selectedLocation
       })
   });

您的下拉列表中还没有任何位置,但我想您很清楚这一点

需要更清晰的解释,您想限制非用户的访问吗?@Prasad,您想根据“下拉”右侧选择的值导航页面吗?此外,只有在单击“保存”按钮时才能执行操作。您不能使用$(“#buttonname”)。单击(函数(){…});你能为这个做一个JSFIDLE吗?谢谢Franco。是否有一种方法可以使此操作仅在单击对话框的“保存”按钮时执行。如果我插入此代码,则页面在更改菜单项后将重定向,但我只需要在单击对话框的“保存”按钮后才需要此操作。提前感谢。我已更新了答案。用户必须在按下该按钮之前进行选择,这对您很重要?如果是,我必须对代码进行一些其他更改感谢您的回复Franco,这并不是那么重要。正如现在的代码一样,如果您单击按钮,代码将检查位置,如果未选中,您可能会得到“未定义”,因此在代码中检查这一点很重要。我希望你知道怎么做。如果不让我知道,我会为您更改代码。如果这个答案对你有效,那么请检查它是否被接受。这将对其他用户有用。谢谢