未捕获的TypeError:对象[object Object]没有方法'open'

时间:2012-12-07 13:07:27

标签: jquery jquery-ui

我有这个JS代码:

$( document ).ready( function() {

    $( "#dialog" ).dialog({
            modal: true,
            autoOpen: false
        });

    $( "input[name=age]" ).change( function() {
        $( "#dialog" ).open();

        $.get( '/viewer?tool=10&age=' + $( this ).val(), function( data ) {
            $( "#dialog" ).close();            
        });
    });
});

当我更改名称'age'的输入值时,我在控制台中出现此错误:

未捕获的TypeError:对象[object Object]没有方法'open'

我已正确地将脚本添加到HTML文档的头部,并且对.dialog的调用不会发出任何错误。

如果我将代码更改为:

$( document ).ready( function() {

    $( "#dialog" ).dialog({
            modal: true,
            autoOpen: false
        });

    $( "input[name=age]" ).change( function() {
        $( "#dialog" ).dialog( "open" );

        $.get( '/viewer?tool=10&age=' + $( this ).val(), function( data ) {
            $( "#dialog" ).dialog( "close" );            
        });
    });
});

一切正常。

你怎么解释这个?

谢谢!

1 个答案:

答案 0 :(得分:3)

标准jQuery集合没有open方法。 jQuery UI为集合添加了一个对话框方法,您可以使用它来实例化和控制对话框。