编程之家 jb51.cc DedeCMS 新建模型checkbox多选框的问题,大家都碰上过吧,您解决了吗?我解决了,现在把解决/修改方法分享出来,希望可以帮助各位草根站长,感谢网提供这么好的站长交流平台,让我把教程发给大家,废话少说,入正文:
include/customfields.func.php 文件修改
搜索 $myformItem .= <input type='checkbox' name='{$fieldname}[]' class='np' value='$v'>$v;
修改成 $myformItem .= ($i==0 ? <input type='checkbox' name='$fieldname' class='np' value='$v' checked='checked'>$v : <input type='checkbox' name='$fieldname' class='np' value='$v'>$v);
$i++;
搜索 $myformItem.= ($fvalue==$v ? <input type='radio' name='$fieldname' class='np' value='$v' checked='checked' />$v : <input type='radio' name='$fieldname' class='np' value='$v' />$v);
}
}
$innertext = $myformItem;
}
下面加上
//checkbox
else if($ftype=='checkbox')
{
if(is_array($items))
{
foreach($items as $v)
{
$v = trim($v);
if($v=='') continue;
$myformItem.= ($fvalue==$v ? <input type='checkbox' name='$fieldname' class='np' value='$v' checked='checked' />$v : <input type='checkbox' name='$fieldname' class='np' value='$v' />$v);
}
}
$innertext = $myformItem;
}
//////////////////////////////////////////////////////////////////////////////////////
打开 dede/inc/inc_archives_all.php 文件
搜索 else
{
$myformItem .= <input type='radio' name='$fieldname' class='np' value='$v'>$v;
}
}
}
$formitem = str_replace(~name~,$ctag->GetAtt('itemname'),$formitem);
$formitem = str_replace(~form~,$myformItem,$formitem);
return $formitem;
}
在下面加上
else if($ctag->GetAtt(type)=='checkbox') //checkbox 类型
{
$myformItem = '';
$items = explode(',',$innertext);
foreach($items as $v)
{
$v = trim($v);
$i = 0;
if($v!='')
{
if($i==0)
{
$myformItem .= <input type='checkbox' name='$fieldname' class='np' value='$v' checked='checked'>$v;
}
else
{
$myformItem .= <input type='checkbox' name='$fieldname' class='np' value='$v'>$v;
}
}
}
$formitem = str_replace(~name~,$formitem);
return $formitem;
}
搜索 else if($dtype==float)
{
$dvalue = trim(ereg_replace([^0-9.],,$dvalue));
if($dvalue==)
{
$dvalue = 0;
}
return $dvalue;
}
在下面加上
// checkbox 类型
else if($dtype==checkbox)
{
if($dvalue==)
{
$dvalue = <input type='checkbox' name='$fieldname' class='np' value='$v' checked='checked'>$v;
}
return $dvalue;
}
搜索 else if($ctag->GetAtt(type)=='radio')
{
$myformItem = '';
$items = explode(',$innertext);
foreach($items as $v)
{
$v = trim($v);
if($v!='')
{
if($fvalue==$v)
{
$myformItem.= <input type='radio' name='$fieldname' class='np' value='$v' checked>$v;
}
else
{
$myformItem.= <input type='radio' name='$fieldname' class='np' value='$v'>$v;
}
}
}
$formitem = str_replace(~name~,$formitem);
return $formitem;
}
在下面加上
else if($ctag->GetAtt(type)=='checkbox') //checkbox 类型
{
$myformItem = '';
$items = explode(',$formitem);
return $formitem;
}
搜索 else if($ctag->GetAtt(type)==multitext)
{
$innertext = <textarea name='$fieldname' id='$fieldname' style='width:100%;height:80'>$fvalue</textarea>;
$formitem = str_replace(~name~,$innertext,$formitem);
return $formitem;
}
在下面加上
// checkbox 类型
else if($formitem==checkbox)
{
if($formitem==)
{
$formitem = <input type='checkbox' name='$fieldname' class='np' value='$v' checked='checked'>$v;
}
return $formitem;
}
////////////////////////////////////////////////////
我这程序改的文件太多,有点乱,所以你修改的时候一定要看清楚,再修改,反正我这里可以用,你要是不行,你仔细检查,别忘了做好备份!