• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DEDECMS+Js实现自定义二级联动
    POST TIME:2017-11-13 00:47

    DEDE有现成的二级联动管理,可以添加并生成二级联动的JS代码,使用起来非常方便。
    如果要实现自己的效果,可能要对联动过程做一点开发。

    下面的代码实例是在二级联动的过程中,添加了一个新的字段,以保存选项的值,并在前台根据JS的值做不同的事件。

    1. <?php
    2. require_once(dirname(__FILE__)."/../include/common.inc.php");
    3. //查询根节点
    4. $dsql->SetQuery("SELECTevalue,enamefrom`ddmx_sys_enum`whereegroup='center'ANDevalue%500=0orderbydisorderasc,evalueasc");
    5. $dsql->Execute();
    6. $enums=array();
    7. $sort=1;
    8. while($row=$dsql->GetArray())
    9. {
    10. $options.="<optionvalue=\&;{$sort}\&;>{$row['ename']}</option>\r\n";
    11. $enums[]=$row['evalue'];
    12. $sort++;
    13. }
    14. $count=count($enums);
    15. foreach($enumsas$i=>$evalue)
    16. {
    17. //添加了一个名为link的字段,保存选项的跳转链接
    18. $dsql->SetQuery("SELECTevalue,ename,linkfrom`ddmx_sys_enum`whereegroup='center'ANDevalue>{$evalue}ANDevalue<({$evalue}+500)orderbydisorderasc,evalueasc");
    19. $dsql->Execute();
    20. $sort=0;
    21. $i++;
    22. while($row=$dsql->GetArray())
    23. {
    24. $js.="select2[".$i."][{$sort}]=newOption(\&;{$row['ename']}\&;,\&;{$row['link']}\&;);\r\n";
    25. $sort++;
    26. }
    27. }
    28. $html='
    29. <formname="frm">
    30. <divclass="city_sch">
    31. <h2class="f13">选择里您最近的学习中心</h2>
    32. <tablewidth="190"height="128"border="0"align="center"cellpadding="0"cellspacing="0">
    33. <tr>
    34. <tdheight="51"align="center"valign="middle"><label>
    35. <selectname="s1"onChange="redirec(document.frm.s1.options.selectedIndex)">
    36. <optionselected>点击选择城市</option>
    37. '.$options.'
    38. </select>
    39. </label></td>
    40. </tr>
    41. <tr>
    42. <tdheight="22"align="center"valign="middle"><label>
    43. <selectname="s2"id="s2">
    44. <optionvalue="点击选择中心"selected>点击选择中心</option>
    45. </select>
    46. </label></td>
    47. </tr>
    48. <tr>
    49. <tdheight="55"align="center"valign="middle"><label>
    50. <inputtype="submit"name="button"id="button"value="马上提交"onclick="window.location=document.frm.s2.value;returnfalse;"/>
    51. </label></td>
    52. </tr>
    53. </table>
    54. </div>
    55. </form>
    56. <scriptlanguage="javascript">
    57. varselect1_len=document.frm.s1.options.length;
    58. varselect2=newArray(select1_len);
    59. for(i=0;i<select1_len;i++)
    60. {
    61. select2[i]=newArray();
    62. }
    63. select2[0][0]=newOption("请选择","");
    64. '.$js.'
    65. functionredirec(x)
    66. {
    67. vartemp=document.frm.s2;
    68. for(i=0;i<select2[x].length;i++)
    69. {
    70. temp.options[i]=newOption(select2[x][i].text,select2[x][i].value);
    71. }
    72. temp.options[0].selected=true;
    73. }
    74. </script>
    75. ';
    76. $html=addslashes(str_replace(array("\r\n",'"'),array('','\''),$html));
    77. echo"document.write(&;$html&;)";
    78. ?>

    本文来源?1

    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!