为什么我的 bootstrap 开关没有改变,而 JS 的功能已设置?
Why my bootstrap toggle is not change while function at JS has been set?
我想根据 JS 中的设置将切换更改为打开或关闭。在这种情况下,我在 JS
中设置为 Inactive,因为当模式关闭时我的 HTML
使用 Active/Inactive 值。如示例所示,我下面的下拉菜单运行良好,一旦模式关闭,它会将值更改为标准。
HTML
<div class="form-group row">
<label class="col-md-4">Status Device</label>
<div class="col-md-8">
<label class="switch">
<input type="checkbox" id="toggle_pump">
<div class="slider round">
<span class="on" name="add_device_status" id="add_device_status" value="Active" autocomplete="off">ON</span>
<span class="off" name="add_device_status" id="add_device_status" value="Inactive" autocomplete="off">OFF</span>
</div>
</label>
</div>
</div>
<div class="form-group row">
<label class="col-md-4">Device Rule</label>
<div class="col-md-8">
<div class="form-group">
<select id="add_device_rule" class="custom-select form-control">
<option value="std_pckg">Standard Package</option>
<option value="vip_pckg">VIP Package</option>
</select>
</div>
</div>
</div>
JS
$("#add_new_device_modal").on('hidden.bs.modal', function(e) {
$('#add_device_status').val("Inactive");
$('#add_device_rule').val("std_pckg");
});
这是因为您在该部分声明了 2 个同名 ID。
<div class="slider round">
<span class="on" name="add_device_status" id="add_device_status"
value="Active" autocomplete="off">ON</span>
<span class="off" name="add_device_status" id="add_device_status"
value="Inactive" autocomplete="off">OFF</span>
</div>
将其更改为 -
<div class="slider round">
<span class="off" name="add_device_status" id="add_device_status"
value="Active" autocomplete="off">ON</span>
</div>
JS-
$("#add_new_device_modal").on('hidden.bs.modal', function(e) {
$('#add_device_status').val("Inactive");
$('#add_device_status').innerHTML = "OFF";
$('#add_device_rule').val("std_pckg");
});
https://jsfiddle.net/w0aqvg5m/
使用选中的 属性 切换模态隐藏事件
$('#toggle_pump').prop('checked',true)
我想根据 JS 中的设置将切换更改为打开或关闭。在这种情况下,我在 JS
中设置为 Inactive,因为当模式关闭时我的 HTML
使用 Active/Inactive 值。如示例所示,我下面的下拉菜单运行良好,一旦模式关闭,它会将值更改为标准。
HTML
<div class="form-group row">
<label class="col-md-4">Status Device</label>
<div class="col-md-8">
<label class="switch">
<input type="checkbox" id="toggle_pump">
<div class="slider round">
<span class="on" name="add_device_status" id="add_device_status" value="Active" autocomplete="off">ON</span>
<span class="off" name="add_device_status" id="add_device_status" value="Inactive" autocomplete="off">OFF</span>
</div>
</label>
</div>
</div>
<div class="form-group row">
<label class="col-md-4">Device Rule</label>
<div class="col-md-8">
<div class="form-group">
<select id="add_device_rule" class="custom-select form-control">
<option value="std_pckg">Standard Package</option>
<option value="vip_pckg">VIP Package</option>
</select>
</div>
</div>
</div>
JS
$("#add_new_device_modal").on('hidden.bs.modal', function(e) {
$('#add_device_status').val("Inactive");
$('#add_device_rule').val("std_pckg");
});
这是因为您在该部分声明了 2 个同名 ID。
<div class="slider round">
<span class="on" name="add_device_status" id="add_device_status"
value="Active" autocomplete="off">ON</span>
<span class="off" name="add_device_status" id="add_device_status"
value="Inactive" autocomplete="off">OFF</span>
</div>
将其更改为 -
<div class="slider round">
<span class="off" name="add_device_status" id="add_device_status"
value="Active" autocomplete="off">ON</span>
</div>
JS-
$("#add_new_device_modal").on('hidden.bs.modal', function(e) {
$('#add_device_status').val("Inactive");
$('#add_device_status').innerHTML = "OFF";
$('#add_device_rule').val("std_pckg");
});
https://jsfiddle.net/w0aqvg5m/
使用选中的 属性 切换模态隐藏事件
$('#toggle_pump').prop('checked',true)