6 ajax+对话框(多对多) - 遮罩层,动态加载gif层,对话框层, a.一点击添加,绑定事件: - 出现遮罩层和动态gif层 - ajax向后台发送请求获取所有班级数据 - success,隐藏动态gif层,出现对话框层,并将数据添加到select标签 遍历args(班级列表),循环创建option标签并添加到select标签 $.each(args, function(i, row){ // i为 循环中元素的索引 // row 为循环元素的内容 // 创建option标签 var tag = document.createElement('option'); tag.innerText = row.title; tag.setAttribute("value", row.id); // 添加到select $("#selectID").append(tag); } ) - ajax traditional: true a.第一种情况:数据为列表 data: {'k1': [1,2,3]} 增加属性:traditional:true; b.第二种情况: data: {'k1':[1,2], 'k2':{'t1':'v2'}} 解决方法: 增加属性traditional:true,同时改变: data: {'k1':[1,2], 'k2':JSON.stringify({'t1':'v2'})} - 编辑 a.加载框获取数据 b.此时由于数据不是渲染在Html,而是通过ajax接收。 c.js判断元素是否在列表内 b.indexOf('222')返回-1表示'222'不在b列表内,否则返回索引 v = [11, 22, 33] v.indexOf(22) 返回1(22的索引) v.indexOf(44)返回-1 $.each(args, function(i,row){ if(teacher_clsid.indexOf(row.id) != -1) }) d. select左右移动