这是jQuery:
$(document).on('change', '.ui-slider-switch', function () {
if ($(this).val() == 'on') {
$("#content1").hide();
$("#content2").show();
}
else {
$("#content1").show();
$("#content2").hide();
}
});
我的HTML:
<div id="switch" data-role="fieldcontain">
<select name="slider" id="flip-a" data-role="slider">
<option value="off"></option>
<option value="on"></option>
</select>
</div>
在我的网站中,我有时会使用自定义网址(并使用$ _GET
从中获取数据)。
当页面重新加载时,我总是收到$("#content2").show();
而不是$("#content1").show();
答案 0 :(得分:0)
尝试更改:
$(document).on('change', '.ui-slider-switch', function () {
为:
$(document).on('change', 'select[name=slider]', function () {
答案 1 :(得分:0)
您确定事件处理程序中的代码是否正在运行? (即您是否使用alert
或console.log
或类似的东西对其进行了测试?)如果页面刚刚重新加载,并且没有人(人或代码)更改了选择的值,则处理程序原则上不会运行
我建议在页面(或元素)加载完成后手动触发change
事件,这样就会检查/双重检查正确的值:
$('.ui-slider-switch').trigger('change');
确保在您刚刚完成重新加载页面后运行代码。