我正在创建一个筛选表单,我想过滤掉具有属性 high=true、high=false 或忽略该属性的对象。
到目前为止,我得到的只是值“on”。
另外,在第三个值(null 或其他)上,我希望样式与其他不同,比如禁用。
有人知道一个简单的方法来做到这一点吗?
function readValue() {
var highValue = $('#high').val();
$('#result').html(highValue);
if (highValue === null) {
//don't filter
} else {
//filter
}
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<div class="btn-group-toggle" data-toggle="buttons">
<label onclick="readValue()" class="btn btn-secondary active">
<input id="high" type="checkbox" checked autocomplete="off"> High
</label>
</div>
Result:<div id='result'></div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
:indeterminate
可以用来表示空状态,但它本身相当新,所以并不是所有的浏览器都以相同的方式渲染它。这就是为什么我选择了“正常”的方式来做的原因。 - David Liang