使用JQuery在JavaScript中通过Dropdown调用的Click事件

月份和年份有两个下拉列表。 根据年份,月份列表将发生变化。 在此处输入图像描述 这工作正常,但由于某种原因,我的“跨领域”没有得到更新。 问题是当用户选择一个月时,不会调用click事件。 注意:这一年是完美的。

隐藏下拉列表div

function Dropdown (element) { $("#month div, #year div").hide(); // hide all dropdowns if (element) $("#"+element+" div").toggle(); // show dropdown of specified element } 

逻辑显示列表取决于下拉年份值

 function UpdateMonths(){ var temp = ""; if (parseInt(Get.Year()) <= 2012){ temp = "

Month1

"; }else{ temp = "

Month9

"; } return temp; }

显示月份或年份的列表

 $("#month span, #year span").click(function(event) { $("#month div").html(UpdateMonths()); // IMPORTANT Show the right list of months event.stopPropagation(); if (!$(this).hasClass('disabled')) { // only open downdown when not disabled Dropdown($(this).parent().attr("id")); } else Dropdown(); // hide all dropdown menues }); 

用户选择他想要的值。 没工作几个月

 $("#location div p, #month div p, #year div p").click(function() { var value = $(this).text(); // grab new location name/month/year. $(this).parent().parent().children("span").text(value); // update selected location name/month/year. RequestToServer(); }); 

月下拉菜单

 
Januar

选择器应该是:

 $("#month, #year").click(function() { 

这是因为你想在#month#year divs中的任何地方检测到点击。 通过在原始代码中定位跨度,您只能在跨度本身上获得单击事件,默认情况下,该事件是内联元素,因此它不会填充100%宽度。