由于我使用引导程序,因此我寻找这种样式以使其更加用户友好,因为我用状态true
和false
.
我通过以下方式进行操作:
$(function() {
$('#toggle-event').change(function() {
$('#console-event').html('Estado: ' + $(this).prop('checked'))
})
})
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
<input type="checkbox" id="toggle-event" checked data-toggle="toggle" data-on="Activo" data-off="Inactivo" data-onstyle="success" data-offstyle="danger">
<div id="console-event">Estado: true</div>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
我希望它有第三种状态,即null
. 有可能吗?或者,如果有其他工具可以为我提供该选项,欢迎提出建议。
具有 3 种状态的复选框:
资料来源:在各州之间轮换
更新:
使用上面的代码,我添加了一些样式
checkbox
:一种选择是使用CSS Toggle Switch:
我将向您展示如何使用some创建
checkbox
具有三种状态的自定义。如果您愿意,您可以稍后添加 Bootstrap 样式。CSS
Javascript
首先,
checkbox
默认情况下无法将样式分配给a,因此,我们将创建一个label
并checkbox
通过属性将其分配给他for
,以便能够将样式分配给所述标签。原件将checkbox
保持隐藏。然后,我们必须定义可以找到复选框的可能状态:
我们还必须定义可能的组合:
也就是说,在获得一种或另一种状态(真/假)之前,它总是会经历空状态。
稍后,我们可以使用
checkbox.indeterminate = true
它来重新创建复选框处于某个状态nulo
,并且我们将保存与复选框当前状态相对应的下一个当前状态,以便以后能够执行一个或另一个操作。为了保存状态,我们将创建几个属性data-
,在这种情况下,我已经调用numero
了下一个状态并actual
保存它在单击复选框时的状态。最后,我们可以使用选择器
:checked
、:indeterminate
和+
一些Javascript
来完成剩下的工作。我们将创建一个在Javascript
复选框更改状态时监听的事件。完整示例: