Показать сообщение отдельно
  #1 (permalink)  
Старый 18.10.2014, 18:19
Новичок на форуме
Отправить личное сообщение для ToshuK Посмотреть профиль Найти все сообщения от ToshuK
 
Регистрация: 18.10.2014
Сообщений: 9

Исправление ошибки Uncaught TypeError: undefined is not a function
Помогите пожалуйста исправить ошибку "Uncaught TypeError: undefined is not a function". Появилась после обновления движка.

Из за ошибки не могу открыть выпадающий список.

Вот кусочек кода из .js файла, где ошибку выдает (ошибка на 7-й строке):
var explayMovieLangImportVideoLabelsLimit = 0,
explayMovieImportVideoLabelsEmpty = '';

$( function( ) {
    // Выпадающие списки
    if ( $( '.explaySelect' ).length > 0 ) {
        $( '.explaySelect' ).live( 'click', function( evt ) {
        	var toElement = evt.target || evt.srcElement;
            if ( toElement.parentNode.className != 'explayElements' ) {
                if ( $( '.explayElements:visible' ).length > 0 ) $( '.explayElements' ).hide( );
                else $( this ).find( '.explayElements' ).show( );
            }
        } );
        $( 'body' ).click( function( evt ) {
        	var toElement = evt.target || evt.srcElement;
            if ( toElement.parentNode.className != 'explayOverlay' &&
            	 toElement.parentNode.className != 'explayElements' &&
            	 toElement.parentNode.className != 'explaySelect' &&
            	 toElement.parentNode.className != 'explaySelect labels' ) $( '.explayElements' ).hide( );
        } );
        $( '.explaySelect .explayElements span' ).live( 'click', function( ) {
            var elementId = $( this ).parent( ).parent( ).attr( 'data-param' );
            
            if ( elementId == '#labels' ) {
                if ( $( this ).hasClass( 'selected' ) ) {
                    $( this ).removeClass( 'selected' );
                    var tempValue = $( this ).attr( 'data-value' );
                    
                    $( elementId ).val( explayMovieStrReplace( '[' + tempValue + ']', '', $( elementId ).val( ) ) );
                    $( elementId + '-cnt' ).val( parseInt( $( elementId + '-cnt' ).val( ) ) - 1 );
                    
                    var tempInt = parseInt( $( elementId + '-cnt' ).val( ) );
                    var $element = $( this ).parent( ).parent( ).parent( ).find( '.optionTitle' );
                    
                    if ( tempInt > 0 ) {
                        newString = explayMovieStrReplace( $( this ).text( ) + ', ', '', $element.text( ) );
                        newString = explayMovieStrReplace( ', ' + $( this ).text( ), '', newString );
                        newString = explayMovieStrReplace( $( this ).text( ), '', newString );
                       $element.text( newString );
                    } else $element.text( explayMovieImportVideoLabelsEmpty );
                } else {
                    if ( parseInt( $( elementId + '-cnt' ).val( ) ) < explayMovieLangImportVideoLabelsLimit ) {
                        $( this ).addClass( 'selected' );
                        
                        $( elementId ).val( $( elementId ).val( ) + '[' + $( this ).attr( 'data-value' ) + ']' );
                        $( elementId + '-cnt' ).val( parseInt( $( elementId + '-cnt' ).val( ) ) + 1 );
                        
                        var tempInt = parseInt( $( elementId + '-cnt' ).val( ) );
                        var $element = $( this ).parent( ).parent( ).parent( ).find( '.optionTitle' );
                        
                        if ( tempInt > 0 ) {
                            if ( tempInt > 1 ) $element.text( $element.text( ) + ', ' + $( this ).text( ) );
                            else $element.text( $( this ).text( ) );
                        } else $element.text( explayMovieImportVideoLabelsEmpty );
                    }
                }
            } else {
                var tempText = explayMovieStrReplace( '&nbsp;', '', $( this ).html( ) );
                $( elementId ).val( $( this ).attr( 'data-value' ) );
                $( this ).parent( ).parent( ).parent( ).find( '.optionTitle' ).html( tempText );
                $( this ).parent( ).hide( );
            }
        } );
    }
Ответить с цитированием