0

我有这个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();            
        });
    });
});

当我更改名称“年龄”的输入值时,控制台中出现此错误:

未捕获的类型错误:对象 [对象对象] 没有方法“打开”

我已经正确地将脚本添加到我的 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" );            
        });
    });
});

一切正常。

你怎么解释?

谢谢!

4

1 回答 1

3

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

于 2012-12-07T13:10:32.517 回答