我发现我的自我使用jQuery steps
和bootstrap toggle
有一种非常奇怪的行为。
我真的不知道两者之间是否存在任何联系,但我知道如果您要在jQuery steps
内使用jQuery插件/扩展程序,至少会遇到很多css问题。< / p>
我按ajax
加载内容,并使用partial views
@Html.Render()
我的问题:
如果我没有使用html markup
加载包含toggles
ajax
的{{1}},而是将toggle inputs
的代码放在(部分)视图中toggles
赢了& #39;工作。
它们显示正确但只是对任何输入都没有反应。
如果我使用ajax
,则toggles
无法在未按javaScript
初始化的情况下正确显示。如果我这样做,他们会工作,但我不想总是使用ajax
加载我的内容。
以下是partial view
的代码:
<div class="form-horizontal">
<div class="form-group">
<div class="col-md-2">
</div>
<div class="col-md-6">
<div class="checkbox">
<label>
<input id="course" data-toggle="toggle" name="Rate.OfferingRates" type="checkbox" >
</label>
</div>
</div>
</div>
<div class="form-group">
<div id="offeringRateContainerSubscription">
<div class="col-md-2">
</div>
<div class="col-md-6">
<div class="checkbox disabled">
<label>
<input id="subscription" disabled data-toggle="toggle" name="Rate.OfferingRates" type="checkbox" value="@SlRateBaseTypes.Subscription">
</label>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
// reached 2 times using @Html.Render()
debugger;
$('#course').bootstrapToggle({
on: 'Ja',
off: 'Nein'
});
$('#subscription').bootstrapToggle({
on: 'Ja',
off: 'Nein'
});
$('#course').change(function () {
debugger;
var isCourse = $('#course').filter(":checked");
if (isCourse.length) {
$('#subscription').bootstrapToggle('enable');
$('#subscription').parent().parent().parent().removeClass('disabled');
} else {
$('#subscription').bootstrapToggle('off');
$('#subscription').bootstrapToggle('disable');
$('#subscription').parent().parent().parent().addClass('disabled');
}
});
});
</script>
此外:
我在此debugger
MyPartialView 中的javaScript中放置了partial view
标记,用于初始化toggles
debugger
标记在按ajax
加载时会中断两次。我不知道这是怎么回事。
我也不知道这是不是一个问题。
答案 0 :(得分:0)
我刚刚找到问题的解决方案。
jQuery步骤再次在内部呈现。 替换.js文件中的代码,如中所示 https://github.com/rstaib/jquery-steps/issues/42 为我工作!