avalonjs 学习笔记1---checkbox

一、vscode 安装使用

1.vs code+node.js下载安装

2.在node.js command prompt 中运行  npm install -g live-server

3.可以使用vscode了

二、avalonjs中checkbox使用

html:

  
  
{{a.name}}
进度:
js:
checkboxChange:function(e,a,d){
var num=$("input[type='checkbox']:checked").length; //获取选中数量
var sum=$("input[type='checkbox']").length;  //获取总数量
//保存数据
var isfinish=e.target.checked;
var id=a;
var name=d;
app.postAjax({
url: '/task/CheckItem/edit',
data: {isFinish:isfinish,id:id,Name:name},
success: function (result){
if (result.statusCode==100) {
app.alert(result.msg);
//保存成功之后,修改进度条
vVTaskBoard.taskProgress= (num/sum).toFixed(2)*100+"%";
} else {
app.error(result.msg);
}
}
}, '正在提交...');

},
 
avalonjs:
checkbox全选中和不全选中
html:
" duplex1" border="1">
    <tr> <td><input type="checkbox" ms-duplex-checked="@allchecked" data-duplex-changed="@checkAll"/>全选td> tr> <tr ms-for="($index, el) in @data"> <td><input type="checkbox" ms-duplex-checked="el.checked" data-duplex-changed="@checkOne" />{{$index}}::{{el.checked}}td> tr> table>
js:
var vm = avalon.define({
    $id: "duplex1",
    data: [{checked: false}, {checked: false}, {checked: false}], allchecked: false, checkAll: function (e) {//全选改变,则每一个都改变成和全选一样的,用forEach循环改变 var checked = e.target.checked; vm.data.forEach(function (el) { el.checked = checked }) }, checkOne: function (e) {//每一个改变,若没选中,则全选是false,即没选中;若选中,判断其他每一个是否都选中,若选中,则全选是true var checked = e.target.checked if (checked === false) { vm.allchecked = false } else {//avalon已经为数组添加了ecma262v5的一些新方法 vm.allchecked = vm.data.every(function (el) {//every 判断数组是否满足条件,如果满足,返回true,如果不满足,返回false,不继续寻找
        return el.checked
      })
    }
  }
})
 
 

转载于:https://www.cnblogs.com/lymkpds/p/6812273.html

你可能感兴趣的:(avalonjs 学习笔记1---checkbox)