我是Jquery的新手,我在下面有以下代码,它将检查是否选中了任何复选框。我想做的就是得到那个的结果,然后(选中/未选中)将其放在if语句中(得到一个真或假或选中/未选中的变量,然后将其放入变量,以便可以使用if声明
$("#treeview .k-item input[type=checkbox]:checked").closest(".k-item");
例如,我想做下面的事情
var isChecked = $("#treeview .k-item input[type=checkbox]:checked").closest(".k-item");
if (isChecked == true)
{
// I know it's true do something
} else {
// It's false do something else
}
答案 0 :(得分:0)
这是一个示例示例。
我希望您的HTML如下
<div id="treeview">
<div class="k-item">
<input type="checkbox" /> <label>ZZZ</label>
<input type="checkbox" /> <label>VVV</label>
<input type="checkbox" /> <label>CCC</label>
<input type="checkbox" /> <label>XXX</label>
<input type="checkbox" /> <label>DDD</label>
</div>
<input type="button" id="btnSubmit" value="Check" />
</div>
下面是您可以使用的脚本。
$("#btnSubmit").on("click", function(){
var isChecked = $("#treeview .k-item input[type=checkbox]").is(":checked");
if(isChecked){
alert("checked");
}
else{
alert("none checked");
}
});
这里是demo
答案 1 :(得分:0)
要检查是否已选中复选框,可以执行
\Z
或
\z
答案 2 :(得分:0)
此演示将:
收集所有带有jQuery选择器扩展名 :checkbox
的复选框。
记录每个复选框的ID,如果复选框已选中,则将记录该值并将其存储在 Map Object 中。
所有未选中的复选框值都记录为Map对象中的null。
在发生更改事件时,每个复选框都会包装在一个标签中。
每个复选框标签将在左侧显示复选框的ID,在右侧显示值。这是通过CSS函数 attr()
在演示中评论的详细信息
/* Register all checkboxes to the change event
|| Invoke the checkCheckbox() callback function
|| and pass its return value through to displayMap() function
*/
$(':checkbox').on('change', function() {
// Create an ES6 Map
var map = new Map();
var m = checkCheckbox(map);
displayMap(m);
});
// Pass the Map through
function checkCheckbox(map) {
// On each checkbox...
$(':checkbox').each(function(idx) {
//...store the total number of checkboxes...
var qty = $(':checkbox').length;
//...store the last index number created...
var num = idx + qty;
// if this checkbox doesn't have an id...
if (!$(this).attr('id')) {
//...then assign an id to it and...
$(this).attr('id', `chx${num}`);
//...create a string of a label...
var str = $(`<label for="${this.id}"><b data-val="${this.value}"></b></label>`);
/*...insert label string after checkbox then
|| insert the checkbox as the first child of label
*/
$(this).after(str);
str.prepend($(this));
}
// if this checkbox is checked...
if ($(this).is(':checked')) {
//...get its value...
var val = $(this).val();
//...set its value within the Map...
map.set(this.id, val);
// ...otherwise...
} else {
//...set its value to Map as null
map.set(this.id, null);
}
});
return map;
}
// Utility function that displays a Map to console
function displayMap(map) {
for (let [key, value] of map) {
console.log(key + '=' + value);
}
}
label {
border: 3px outset grey;
border-radius: 5px;
white-space: nowrap;
padding: 0 5px 0 0;
display: inline-block;
width: 25%;
}
label::before {
content: '\a0'attr(for)
}
b::after {
content: 'null';
}
input[type=checkbox]:checked+b::after {
content: attr(data-val)
}
.as-console-wrapper {
max-height: 70px !important;
}
<input type='checkbox' value='1'>
<input type='checkbox' value='true'>
<input type='checkbox' value='on'>
<input type='checkbox' value='z0' checked>
<input type='checkbox' value='1' checked>
<input type='checkbox' value='89m' checked>
<input type='checkbox' value='1'>
<input type='checkbox' value='cajun' checked>
<input type='checkbox' value='00'>
<input type='checkbox' value='v' checked>
<input type='checkbox' value='1'>
<input type='checkbox' value='A' checked>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>