但是我看不出哪里少了';',而且不加split,却不会出错啊,各位哥哥教教我,好不好?

解决方案 »

  1.   

    *.split(":")能切出东西来吗?
    好像你的this.value 获取的值,没有“:”吧
      

  2.   

    echo "document.getElementById(\"$tdiv\").innerHTML=\"$output\";";
    应该放在script里面的啊
    程序看起来没有错
      

  3.   

    echo "document.getElementById(\"$tdiv\").innerHTML=\"$output\";";
    得到的结果是
    document.getElementById("").innerHTML="<select name='itemlist' onChange='document.all.ck.value=this.value.split(":")[0];document.all.ck1.value=this.value.split(":")[1];'><option value='1:3'>a</option><option value='2:4'>b</option></select>";
    这显然是错误的,因为在双引号中有":"。实际上你应该得到这样的结果
    document.getElementById("").innerHTML="<select name='itemlist' onChange='document.all.ck.value=this.value.split(\":\")[0];document.all.ck1.value=this.value.split(\":\")[1];'><option value='1:3'>a</option><option value='2:4'>b</option></select>";
    即":"的“"”是要转义的“\"”
    所以
    $output="<select name='itemlist' onChange='document.all.ck.value=this.value.split(\":\")[0];document.all.ck1.value=this.value.split(\":\")[1];'>";
    要写做
    $output="<select name='itemlist' onChange='document.all.ck.value=this.value.split(\\\":\\\")[0];document.all.ck1.value=this.value.split(\\\":\\\")[1];'>";
      

  4.   

    谢谢楼上的各位大哥,特别是 xuzuning(唠叨)