0

Fill DropDownlist の public 関数を書きたい。プログラマーが DropDownlist を埋めたい場合は、このメソッドを呼び出してパラメーターを設定します。私はこのコードを書きます

function FillDropDownlist(url,dataPas,selector,indexValue,indexText) {

    $.ajax({
        cache: false,
        contentType: 'application/json; charset=utf-8',
        url: url,
        data:{dataPas},
       success: function (data) {
            var rows = data.rows;
            var drpTransportType = $(selector);
            var strOption = '<option value=0>...Select.....</option>';
            $(selector+" option").remove();
            if (data.rows.length >= 0) {
                for (var i = 0, l = rows.length; i < l; i++) {
                    var ri = rows[i];
                    strOption += '<option value="' + ri.cell[indexValue] + '">' + ri.cell[indexText] + '</option>';
                }
                drpTransportType.append(strOption);
            }
        },
        dataType: 'json'

    });

}

そして呼び出しのために私はこのコードを書きます

 FillDropDownlist("JQGridHandler.ashx", "ActionPage:'TransportType',Action:'FillDrop'", "#Select1", 0, 1);

しかし、このコードは機能せず、エラーが発生します

Error: FillDropDownlist is not defined

この行にはエラーがあると思います

  data:{dataPas},

この機能を完了するために私を助けてください、ありがとう

4

2 に答える 2

1

いくつかのこと: (1) JavaScript 関数名に camelCase 命名規則を使用します。(2) 関数を呼び出す前に、関数が評価されていることを確認してください。したがって、別の js ファイルにある場合は、関数を呼び出すファイルの前に含まれていることを確認してください。(3) (「pass」のスペルを間違えたと思いますが、とにかく) に変更data:{dataPas}します。data: dataPas次に、dataPasオブジェクトは次のようなJavaScriptオブジェクト表記にする必要がありますdataPas = {foo: "foo", bar: "bar"};

于 2012-07-24T20:24:16.810 に答える
1

がネイティブ JavaScript オブジェクトの場合dataPas、dataPas を次のように渡します。data:JSON.stringify(dataPas)

PS: 関連のないサイドノートでは、省略できdataType: 'json'、 contentType は必要ですcontentType: 'application/json'(ここにリンク)

于 2012-07-24T20:52:01.770 に答える