2013-08-30 2 views
0

일단 첫 번째 드롭 다운을 선택하면 다음 어린이가 첫 번째 드롭 다운이 채워지는 양식이 있습니다. 내가 선택한 "지점"을 통과해야합니다. 문제는 다음 선택 옵션을 채우는 함수에 문자열이 아닌 다른 것을 전달해야한다는 것입니다. jQuery의 .data();를 사용하려고합니다. 방법을 사용하지만 오류가 계속 발생합니다.선택 옵션에 데이터를 전달한 다음 jquery .data();

function Branch (name, level, parent) { 
    this.name = name; 
    this.level = level; 
    this.children = []; 
    this.parent = parent; 
} 

function makeNextOptions (branch){ 
    var b = branch; 
    while (b) { 
     if (b.hasChildren()) { 
      f.append($("<select id="+l2+"></select>")); 
      var c = b.children; 
      j = c.length; 
      $("#"+l2).append($("<option></option>") 
           .attr("value", 2)//.id) 
           .text("text") 
          ); 
      while (j--) { 
       $("#"+l2).append($("<option></option>") 
            .attr("value", c[j].name)//.id) 
            .text(c[j].name) 
            .data(c[j]); 
           )}; 

      $("#"+l2).change(function() { 
       var sel = $("select option:selected").data(); 
       console.log(sel); 
       createLevel(sel) 
      }) 

      l--; 
      n = n.parent; 
     }else 
     { n= null; 
     } 
    }  

} 

그러나 ("sel") Object #에는 'hasChildren'메서드가 없다는 오류가 계속 발생합니다. 하지만, "sel"은 다른 지점이어야하기 때문에 그렇습니다.

답변

1

개체를 전달할 수있는 jquery의 함수 .data(key, value)을 사용할 수 있습니다.

관련 문제