0

JavaScript メソッドを定義しました。メソッドを呼び出すと、次の例外が発生します。

Uncaught ReferenceError: getProvidersList is not defined.

これは定義された私のJavaScriptメソッドです:

function getProvidersList(categoryIndex){
           var index = $('#'+categoryIndex).val();
           console.log("index"+index);
            var url ='${pageContext.request.contextPath}/rechargewallet/rechargeWalletGetSubCategoryRequest.htm';
            $.ajax({
                type: "GET",
                url: url,
                data: "categoryIndex=" + categoryIndex ,
                success: function(response){

                    if('null' != response && (typeof response != 'undefined')){

                        var subCategoriesList = '<select name=subCategoriesList id=subCategoriesList>';
                        for (var i = 0; i < response.length; i++) {
                            var nameOfTheProvider = response[i].nameOfTheProvider;
                            subCategoriesList = subCategoriesList + '<option value="'+nameOfTheProvider'" label="'+nameOfTheProvider'"></option>';
                        }
                        $('#subCategoriesListselectBlock').html(subCategoriesList);
                        $('#subCategoriesList').show(); 

                     }else{
                         $('#categoriesList').show();
                         $('#subCategoriesList').hide();
                     }
                 }
            });
    }

そして、これは私が上記のメソッドを呼び出す方法です:

<input type="radio" name="categoriesList" id="${categoryName}" value="${category.index}" onclick="getProvidersList(this.id)" />

ページがロードされたときにもこの例外が発生します。

uncaught SyntaxError: Unexpected token + 

この行で:subCategoriesList = subCategoriesList + '<option value="'+nameOfTheProvider'" label="'+nameOfTheProvider'"></option>';

私は完全に混乱しています。通常、この種の例外は、メソッドが定義されておらず、呼び出されていないときにスローされますが、私の場合、メソッドを定義して同じものを呼び出しましたが、なぜこの種のundefined例外が発生するのですか?

これを修正する方法を教えてください..

ありがとう。

4

1 に答える 1

3

文字列が欠落+しています。これは構文エラーであるため、スクリプト ブロック全体が実行されないため、getProvidersList関数が実行されない可能性があります

subCategoriesList = subCategoriesList + '<option value="' + nameOfTheProvider + '" label="' + nameOfTheProvider + '"></option>';
于 2013-09-17T06:14:57.680 に答える