2012-02-06 3 views
2

테이블에 행을 만들고 셀을 추가하는 JavaScript가 있습니다. 두 번째 셀에 colspan = 2를 추가해야합니다 (A.K.A 셀 선택). 그러나 이것이 코드의 전체 페이지에 영향을 미치기 때문에 최소한의 코드 변경만으로이 작업을 수행하는 가장 좋은 방법을 알 수는 없습니다. Sugestions? 내가 제대로 이해하는 경우 (테이블 ID = 표 5 클래스 = MYTABLE)JS 생성 셀에 colspan 추가

if(fltgrid) 
{ 
    var fltrow = t.insertRow(0); //adds filter row 
    fltrow.className = "fltrow"; 
    for(var i=0; i<n; i++)// this loop adds filters 
    { 
     var fltcell = fltrow.insertCell(i); 
     //fltcell.noWrap = true; 
     i==n-1 && displayBtn==true ? inpclass = "flt_s" : inpclass = "flt"; 

     if(f==undefined || f["col_"+i]==undefined || f["col_"+i]=="none") 
     { 
      var inptype; 
      (f==undefined || f["col_"+i]==undefined) ? inptype="text" : inptype="hidden";//show/hide input 
      var inp = createElm("input",["id","flt"+i+"_"+id],["type",inptype],["class",inpclass]);     
      inp.className = inpclass;// for ie<=6 
      fltcell.appendChild(inp); 
      if(enterkey) inp.onkeypress = DetectKey; 
     } 
     else if(f["col_"+i]=="select") 
     { 
      var slc = createElm("select",["id","flt"+i+"_"+id],["class",inpclass]); 
      slc.className = inpclass;// for ie<=6 
      fltcell.appendChild(slc); 
      PopulateOptions(id,i); 
      if(displayPaging)//stores arguments for GroupByPage() fn 
      { 
       var args = new Array(); 
       args.push(id); args.push(i); args.push(n); 
       args.push(display_allText); args.push(sort_slc); args.push(displayPaging); 
       SlcArgs.push(args); 
      } 
      if(enterkey) slc.onkeypress = DetectKey; 
      if(on_slcChange) 
      { 
       (!modfilter_fn) ? slc.onchange = function(){ Filter(id); } : slc.onchange = f["mod_filter_fn"]; 
      } 
     } 

     if(i==n-1 && displayBtn==true)// this adds button 
     { 
      var btn = createElm(
            "input", 
            ["id","btn"+i+"_"+id],["type","button"], 
            ["value",btntext],["class","btnflt"] 
           ); 
      btn.className = "btnflt"; 

      fltcell.appendChild(btn); 
      (!modfilter_fn) ? btn.onclick = function(){ Filter(id); } : btn.onclick = f["mod_filter_fn"];     
     }//if  

    }// for i  
}//if fltgrid 

답변

2

, 다음에 else if의 코드 블록을 변경할 수 있습니다

var slc = createElm("select",["id","flt"+i+"_"+id],["class",inpclass]); 
slc.className = inpclass;// for ie<=6 
fltcell.appendChild(slc); 
fltcell.setAttribute("colspan",2); 
PopulateOptions(id,i); 
+0

를 마우스 오른쪽 지점, 덕분에 –