1

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

隐藏下拉 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 = "<p>Month1</p>"; 
    }else{
        temp = "<p>Month9</p>"; 
    }
    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();
});

月份下拉菜单

<div id="month">
    <span class="input">Januar</span>
    <div class=".dropdown">
    <p></p>
</div>
</div>
4

1 回答 1

0

选择器应该是:

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

这样做的原因是因为您想检测对div#month#yeardiv 中任意位置的点击。通过在原始代码中定位跨度,您只会在跨度本身上获得点击事件,默认情况下它是一个内联元素,因此它不会填充 100% 的宽度。

于 2013-07-05T06:41:43.993 回答