pmhtml="";
pmhtml +='<option value="" selected="selected" >--请选择--</option>';
for(var j=0; j<data[0].pm.length; j++){
pmhtml += '<option value="'+data[0].pm.get(j).pm+'" '+(data[i].pm == data[0].pm.get(j).pm?'selected':'')+'>'+ data[0].pm.get(j).pm+'</option>';
}
html=html+'<div class="div-span"><span>排 名: '+'<select id="pm'+i+'" name="pm" onchange="pm(this);">' + pmhtml +'</select>' +'</span></div></div>';
function pm(o){
//未选的值
var arrayUnSelect = new Array();
//存储选中的值
var arraySelect = new Array();
//初始化未选中的值
for (var i=0;i<kcNum;i++){
arrayUnSelect[i] = i+1;
}
//更新未选中的值(从中去掉已经选中的值)
for (var i=0;i<kcNum;i++){
//当前循环判定 每一个评价课程已经选中的值
var isChecked = $("#pm"+i).val();
//如果排名选择了一个值
if (isChecked != "") {
var index = "";
//循环去定位当前选中的值 在数组中的位置
for(var s =0; s< arrayUnSelect.length;s++){
if(arrayUnSelect[s] == isChecked){
index = s;
break;
}
}
//将已经选中值 在数组中去除(splice直接修改原数组,并把删除的所有元素以另一个新数组的方式返回)
arrayUnSelect.splice(index, 1);
}
}
//公共空值
var publicOption ='<option value="" >--请选择--</option>';
//公共 存储已经被选择后剩下的值的html
var publicSelect ='';
//剩下未选中的进行HTML生成
for (var i = 0; i < arrayUnSelect.length; i++) {
publicSelect +='<option value='+arrayUnSelect[i]+' >'+arrayUnSelect[i]+'</option>';
}
//循环去给每一个排名去重新赋值
for (var i=0;i<kcNum;i++){
//将已经选中的值记录下来
if ($("#pm"+i).val() != "") {
arraySelect[i] = '<option value=' + $("#pm"+i).val() + ' selected="selected">' + $("#pm"+i).find("option:selected").text() + '</option>';
}
//进行重置(公共空值+已经选中的值+公共剩下未被选中的值)
$("#pm"+i).html(publicOption+arraySelect[i]+publicSelect);
}
}