0

我有一个表单,一旦选择了第一个下拉列表,下一个将由第一个下拉列表的子级填充。我需要通过已选择的“分支”。问题是我需要将字符串以外的内容传递给填充下一个选择选项的函数。我正在尝试使用 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”应该只是另一个分支。

4

1 回答 1

1

.data(key, value)您可以使用能够传递对象的 jquery 函数。

于 2013-08-30T19:49:26.600 回答