0

我有以下 div

<div id="daily" style="display:none">
   <p class="scheduleData">Every <input type="text" data-bind="value:EveryNPeriods"/> days      
</div>

<div id="weekly" style="display:none">
     <p class="scheduleData">Recur Every <input type="text" data-bind="value:EveryNPeriods" style="width:20px; "/>Week(s) on: </p><br/>
</div>

我有一个下拉菜单,其中包含每日和每周选项。在下拉更改时,我必须能够加载另一个 div 的内容。这是我的代码:

$("#dropdown").change(function () {
    var selected = $("#dropdown").val();
    if (selected == "Daily") {
        $("#DivToBeLoaded").html("");
        //$("#DivToBeLoaded").html($("#daily").html());
        $("#DivToBeLoaded").html($("#daily").contents());
    } else if (selected == "Weekly") {
        $("#DivToBeLoaded").html("");
        $("#DivToBeLoaded").html($("#weekly").contents());

});

问题是每个下拉选项的 DivTobeLoaded 仅更新一次(例如,第一次将其更改为 Weekly 时,div 会加载每周 div 的内容。如果我现在将其更改为 Daily,它会被加载。但是当我切换回每周,div 不加载)。如果我使用 .html 而不是 .contents 它工作正常。但是,如果我在创建新节点时使用 .html 属性,我将失去所有的淘汰赛绑定。

4

2 回答 2

0

用'}'关闭else循环

var selected = $("#dropdown option:selected").val();    //Try this also
if (selected == "Daily") {
    $("#DivToBeLoaded").html("");
    //$("#DivToBeLoaded").html($("#daily").html());
    $("#DivToBeLoaded").html($("#daily").contents());
} else if (selected == "Weekly") {
    $("#DivToBeLoaded").html("");
    $("#DivToBeLoaded").html($("#weekly").contents());
}  //end of else if
于 2013-05-09T12:26:50.403 回答
0
Try with just if eles

$("#dropdown").change(function () {
    var selected = $(this).val();
    $("#DivToBeLoaded").html("");//Make blank here
    if (selected == "Daily") {
        $("#DivToBeLoaded").html($("#daily").contents());
    } else {
        $("#DivToBeLoaded").html($("#weekly").contents());
    }
});
于 2013-05-09T12:42:25.803 回答