修复织梦后台添加文章时,一级联动也显示两个框的问题

在织梦后台添加文章时,使用一级联动时也显示两个框,这个虽然不影响使用,但是看着还是不爽,研究了一下解决办法:

修改/images/enums.js,


1、添加一个是否存在子类别的判断,添加在177行var selarr = eval('em_'+emname+'s');下面

        //检测子类是否存在,2014-2-22 修改BY:米易网络工作室 Q:86485405
var isHasSon = "N";
for(i = 500; i <= selarr.length; i++){
 if(i%500>0){ //检查是否存在子类别
  if(!selarr[i]){
continue; 
  }else{
    isHasSon = "Y";
break;
  }
 }
}


2、237行左右,创建子类的代码加一个判断条件,修改后代码为:
   //如果子类存在值,创建子类,并且添加onchange事件2014-2-22 修改BY:米易网络工作室 Q:86485405
   if(isHasSon=="Y" || sonvalue>0){
    selObj = document.createElement("select");
    selObj.name = emname + '_son';
    selObj.id   = emname + '_son';
    selObj.onchange = ChangeSon;
    aOption = document.createElement('OPTION');
    aOption.text = '请选择..';
    aOption.value = 0;
    selObj.options.add(aOption);
   }    


3、修改121行的顶级类改变事件函数。主要是修正顶级类改变时,本来只有一级选择的,后面却多生成一个二级框的问题。
   修改后的函数为:
   //顶级类改变事件
   function selNextSon()
   {
     var emname = this.name.replace('_top', '');
     var v = this.options[this.selectedIndex].value;
     document.getElementById('hidden_'+emname).value = v;  //为隐藏的提交input赋值

     //更改子级栏目的选项内容
     if( document.getElementById(emname+'_son') )  //检测是否存在二级选框元素
      {
        var oj = document.getElementById(emname + '_son');
var newobj = oj.options;
var selarr = eval('em_'+emname+'s');
var selv = parseInt(v);
var maxv = parseInt(v) + 500;
while(newobj && newobj.length > 0) oj.remove(0);
clear(oj);
if(selv==0)
{
aOption = document.createElement('OPTION');
aOption.text = '请选择..';
aOption.value = '0';
oj.options.add(aOption);
return;
}
else
{
aOption = document.createElement('OPTION');
aOption.text = '请选择..';
aOption.value = '0';
oj.options.add(aOption);
}
var str = '';
for(i=selv+1; i < maxv; i++)
{
if(!selarr[i]) continue;
aOption = document.createElement('OPTION');
aOption.text = selarr[i];
aOption.value = i;
oj.options.add(aOption);
}
document.getElementById('span_'+emname+'_son').appendChild(oj);
}//end if
     }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值