1.<s:radio id="radio"/>这个不能直接使用document.getElementById("radio");
这时使用:
var iscontain="";
var obj=document.getElementsByName("radio");
for(var i=0;i<obj.length;i++){
if(obj[i].checked==true){
iscontain=obj[i].value;
}
}
2.<s:select id="select"/>这个标签通常会用到ajax实现联动效果,如下:
function getliandongshebeiname(xiangmubuusergroupid){
var jiancezhongxinid=$("#jiancezhongxinid").val();
var zigongsiid=$("#zigongsiid").val();
var zhihuibuid=$("#zhihuibuid").val();
var iscontain="";
var obj=document.getElementsByName("iscontain");
for(var i=0;i<obj.length;i++){
if(obj[i].checked==true){
iscontain=obj[i].value;
}
}
$.ajax({
url:"getliandongshebeiname",
type:"post",
data:{iscontain:iscontain,jiancezhongxinid:jiancezhongxinid,zigongsiid:zigongsiid,zhihuibuid:zhihuibuid,xiangmubuusergroupid:xiangmubuusergroupid},
dataType:"json",
success:function(data){
if(data.info=="success"){
var ops = data.outstr.split("|");
var obj = document.getElementById("shebeiname");
alert("success :"+obj.options.length);
while(obj.options.length>1) {obj.options[1] = null;};
for (var i = 0; i < ops.length-1; i++) {
var op = ops[i];
var ss = op.split(",");
var oOption = new Option(ss[1], ss[0]);
obj.options.add(oOption); //将节点加入选项中
}
}else if(data.info=="error"){
var obj = document.getElementById("shebeiname");
alert(" error :"+obj.options.length);
while(obj.options.length>1) {obj.options[1] = null;};
}
}
});
}
备注:while(obj.options.length>1) {obj.options[1] = null;}; ----在用户下次改变时,清空下拉列表的值
3.在大型项目中,用户保存数据会出现数据乱存储的情况。(比如在工地上,该字段是水,应该存储水的值,结果存储的其他值。)
解决方法:
HntbhzziduancfgView hbfield = queryService.gethntcfgfield(shebeibianhao);
String [] ArrStr={"feimeihui4","fenliao5","fenliao6","guliao5","kuangfen3","sha1","sha2","shi1","shi2","shui1","shui2","shuini1","shuini2","waijiaji1","waijiaji2","waijiaji3","waijiaji4"};
List<String> sha_shijilist=new ArrayList<String>();
List<String> sha_lilunlist=new ArrayList<String>();
List<String> sjshalist=new ArrayList<String>();
List<String> shui_shijilist=new ArrayList<String>();
List<String> shui_lilunlist=new ArrayList<String>();
List<String> shuini_shijilist=new ArrayList<String>();
List<String> shuini_lilunlist=new ArrayList<String>();
List<String> fenmeihui_shijilist=new ArrayList<String>();
List<String> fenmeihui_lilunlist=new ArrayList<String>();
for(int i=0;i<ArrStr.length;i++){
try{
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("砂")>-1){
sha_shijilist.add(ArrStr[i]);
sjshalist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("砂")>-1){
sha_lilunlist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水")>-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("泥")==-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("减")==-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("剂")==-1){
shui_shijilist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水")>-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("泥")==-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("减")==-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("剂")==-1){
shui_lilunlist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水泥")>-1){
shuini_shijilist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("水泥")>-1){
shuini_lilunlist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("煤")>-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("灰")>-1){
fenmeihui_shijilist.add(ArrStr[i]);
}
if(((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_lilunzhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("煤")>-1 &&
((String)hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{})).indexOf("灰")>-1){
fenmeihui_lilunlist.add(ArrStr[i]);
}
}catch(Exception ex){
logger.info(ex);
}
}
备注:hbfield.getClass().getMethod("get"+ArrStr[i].replaceFirst(ArrStr[i].substring(0,1),ArrStr[i].substring(0,1).toUpperCase())+"_shijizhi",new Class[]{}).invoke(hbfield,new Object[]{}),这个代码的意义在:如果得到对象hbfield.getShui_shijizhi(),