帝国cms选择外表关联字段,只能选择唯一数据改为可以追加数据。

分类栏目:帝国学院

发布于

帝国cms选择外表关联字段,默认是只能选在一个唯一数据的,如果我们想选择多个数据,追加数据应该按照如下方法修改:

打开文件:/e/admin/db/ChangeField.php

找到:

<script>
function ChangeFieldVal(val)
{
	var checkbox = document.getElementById("isdx");
	if (checkbox.checked){
		var oldz=opener.document.<?=$form?>.<?=$field?>.value;
		if(oldz){
			//检查是否重复
			var strs= new Array(),noxx;
			strs=oldz.split(","); 
			for (i=0;i<strs.length ;i++ ) 
			{
				if(strs[i]==val){noxx=1;} 
			}
			if(!noxx){
				opener.document.<?=$form?>.<?=$field?>.value=oldz+","+val;
			}
		} else {
			opener.document.<?=$form?>.<?=$field?>.value=val;	
		}
	} else {
		opener.document.<?=$form?>.<?=$field?>.value=val;
		window.close();
	}
}
</script>

改成:

<script>
function ChangeFieldVal(val)
{
    nval = opener.document.<?=$form?>.<?=$field?>.value;
    if(!nval){
       dh = "";
    }else{
        dh = ",";
    }
	opener.document.<?=$form?>.<?=$field?>.value = nval + dh + val;
	window.close();
}
</script>

这样,就改为了追加,并用逗号分割。如需改为其他符号,调整变量dh=","里的逗号即可。

查看原内容