Javascript 如果选中的选项不是';全部';
我有多个从数据库填充的复选框,除了一个复选框是“全部”(用于在单击时选中/取消选中所有其他复选框)Javascript 如果选中的选项不是';全部';,javascript,jquery,checkbox,functional-programming,Javascript,Jquery,Checkbox,Functional Programming,我有多个从数据库填充的复选框,除了一个复选框是“全部”(用于在单击时选中/取消选中所有其他复选框) 选中所有选项后,如果未选中“all”以外的任何选项,则应取消选中“all”复选框 如果选中除“全部”之外的所有选项,则应选中“全部”。如何进行 我的代码: <script> $(document).ready(function () { ('#check').append('<input type="checkbox" id="checkAll" nam
<script>
$(document).ready(function () {
('#check').append('<input type="checkbox" id="checkAll" name="myCheckbox[]" value="All" > </input>' + "All" );
//'datadb' is data from db in json array
//datadb={'apple','banana','orange'}
$.each(datadb, function(i, fruit) {
$('#check').append('<input type="checkbox" name="myCheckbox[]" class=".chk" value="' + fruit + '" > </input>' + fruit );
$('#check').append('<br/>');
}
});
</script>
<script>
$(document).ready(function() {
$("#checkAll").click(function () {
$('input:checkbox').not(this).removeProp('checked');
});
});
</script>
$(文档).ready(函数(){
(“#检查”)。追加(“+”全部”);
//“datadb”是来自json数组中db的数据
//datadb={'apple'、'banana'、'orange'}
$.each(数据数据库、函数(i、水果){
$('#check')。附加(''+水果);
$(“#检查”).append(“
”);
}
});
$(文档).ready(函数(){
$(“#选中全部”)。单击(函数(){
$('input:checkbox')。不是(这个)。移除PROP('checkbox');
});
});
如何填充函数以满足上述1和2
<script>
function testingclick(){
var $check_values = $("input[type=checkbox][name='myCheckbox[]']:checked");
var $check_len = $check_values.length;
var $total_len = $("input[type=checkbox][name='myCheckbox[]']").length;
window.var_multiple_checked = $check_values.map(function(){ return "'" + this.value + "'"; }).get();
temp_checked= window.var_multiple_checked;
}
</script>
函数测试单击(){
var$check_values=$(“输入[type=checkbox][name='myCheckbox[]']:选中”);
var$check\u len=$check\u values.length;
var$total_len=$(“输入[type=checkbox][name='myCheckbox[]']”)长度;
window.var_multiple_checked=$check_values.map(函数(){return“'”+this.value+“'”;}).get();
temp_checked=window.var_多个_checked;
}
用于此代码
$('input:checkbox').not(this).prop('checked', this.checked);
尝试改用removeProp
$('input:checkbox').not(this).removeProp('checked');
对于复选框的事件,使用事件钩住所有
$(document).ready(function() {
$('input:checkbox').click(function () {
if ($(this).attr('id') === 'checkAll' && $(this).is(':checked')) {
$('input:checkbox').not($(this)).removeProp('checked');
} else {
$('#checkAll').removeProp('checked');
}
});
});
编辑过。有什么建议来完成这个功能吗?是的,没错,花了很多时间。谢谢@billyonecan。