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左右移动