日期:2014-05-17  浏览次数:20729 次

关于下拉框的编辑问题?
编辑页面上,比如下面的代码,result.ethnic值为汉族,再点下拉框,就出现两个汉族了?不知道问题说明白没,要怎么处理;就是下拉框里排出result.ethnic值

 +' <select name="ethnicW" id="ethnicW" class="selectstyle">'
      +'    <option value="'+result.ethnic+'"selected="selected">'+result.ethnic+'</option>'
      +'      <option value="汉族">汉族</option>'
      +'      <option value="满族">满族</option>'
      +'      <option value="藏族">藏族</option>'
      +'      <option value="怒族">怒族</option>'
      +'      <option value="仡佬族">仡佬族</option>'
      +'      <option value="朝鲜族">朝鲜族</option>'
      +'      <option value="撒拉族">撒拉族</option>'

------解决方案--------------------
result.ethnic值为汉族,你下面的option还有一个汉族
------解决方案--------------------
看你这个样子貌似是用JS生成的select吧!如果是这样的话,可以按下面的试试

var obj = {};
obj["汉族"] = "<option value=\"汉族\">汉族</option>";
obj["满族"] = "<option value=\"满族\">满族</option>";//其他的这样填上去

for(var i in obj){
if(i == result.ethnic){
delete obj[i];
}
}

 +' <select name="ethnicW" id="ethnicW" class="selectstyle">'
      +'    <option value="'+result.ethnic+'"selected="selected">'+result.ethnic+'</option>'
  for(var i in obj){
+ obj[i];
  }

简单的说就是把option都保存在一个obj中,然后删除和result.ethnic相等的option,然后再拼接的时候,就不会有重复的了!