我有以下divs
<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,它会被加载。但是然后当我切换回Weekly时,div不加载)。如果我使用.html而不是.contents它可以正常工作。但是如果我使用.html属性创建新节点,我将失去所有的敲除绑定。
答案 0 :(得分: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
答案 1 :(得分: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());
}
});