我想把sql中查出来的值显示在下拉菜单中,以下是代码: 页面报语法错误~~~~~~~~~~~~~
                        //第一个单元格中的值是下拉菜单
                        if(i==1 ){          td.innerHTML="<select style='WIDTH: 54px' name='text1_"+m+"_1'> "+
                        //循环拿出每个商品
                        for(var j=0;j<allNode.length;j++){
     
                                 cpmc = ""+allNode[j].childNodes[0].text+ ""; //alert(cpmc);
                               "<option value='"+cpmc+ "'/>"
                                
                               }

                     +"</select>";
         
      }这是动态表格中的一段代码,其中产品名称在这个for()循环里是能够拿到的。
但放到<option>中就报语法错误~~~~~~~~~
这到底是为啥呀~~~~~~~~~~~~~~~

解决方案 »

  1.   

    td.innerHTML=" <select style='WIDTH: 54px' name='text1_"+m+"_1'> ";很明显不是+
      

  2.   

    看错。应该是不能直接+  后面那个FOR循环吧。。
      

  3.   


    if(i==1 ){ 
    var cpmc='';
    td.innerHTML="<select style='WIDTH: 54px' name='text1_"+m+"_1'> ";
      //循环拿出每个商品
      for(var j=0;j <allNode.length;j++){ 
    cpmc = ""+allNode[j].childNodes[0].text+ ""; //alert(cpmc);
    td.innerHTML += "<option value='"+cpmc+ "'/>";
    td.innerHTML += cpmc;
    td.innerHTML +="</option>";
       }
    td.innerHTML +="</select>"; 

      

  4.   

    - -#
    不好意思!换下变量!
    if(i==1 ){ 
    var cpmc='';
            var htmlStr=''; 
    htmlStr="<select style='WIDTH: 54px' name='text1_"+m+"_1'> ";
      //循环拿出每个商品
      for(var j=0;j <allNode.length;j++){ 
    cpmc = ""+allNode[j].childNodes[0].text+ ""; //alert(cpmc);
    htmlStr += "<option value='"+cpmc+ "'/>";
    htmlStr += cpmc;
    htmlStr +="</option>";
       }
    htmlStr +="</select>"; 

    td.innerHTML = htmlStr;
      

  5.   

    不能把多行的代码直接付值给 inerHTML的!