1

月と年の 2 つのドロップダウンがあります。年によって、月のリストが変わります。 ここに画像の説明を入力 これは正常に機能しますが、何らかの理由で「スパン フィールド」が更新されません。問題は、ユーザーが月を選択したときにクリック イベントが呼び出されないことです。注: 年は完全に機能します。

ドロップダウン 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() {

#monthこれは、および#yeardiv内の任意の場所でクリックを検出したいためです。元のコードでスパンをターゲットにすることで、スパン自体でのみクリック イベントを取得します。これはデフォルトでインライン要素であるため、100% の幅を埋めません。

于 2013-07-05T06:41:43.993 に答える