3

jquery オートコンプリート プラグインを実装しようとしています。起動して実行していますが、何かが正しく機能していません。

基本的に、従業員のオートコンプリート リストがあります。リストは、VB.NET ハンドラー (.ashx ファイル) を使用して、SQL データベース (employee_names および employee_ID) のテーブルから生成されます。データは次のようにフォーマットされます: employee_name-employee_ID。これまでのところ、すべての従業員がオートコンプリートにリストされています。

問題は、オートコンプリートから従業員を選択したときに、ユーザーを特定のページ (employee_profile.aspx など) にリダイレクトする方法がわからないことです。

これは私のリダイレクト コードですが、正常に動作していません。

$('#fname2').result(function(event, data, formatted) {
        location.href = "employee_profile.aspx?id=" + data
});

例えば; ユーザーは、 employee_profile.aspx?id=91210 ではなく、employee_profile.aspx? id=name of employee-id of employee (例: employee_profile.aspx?id=John Doe-91210) にユーザーをリダイレクトします。

私はemployee_IDを取り除くことができることを知っています:

formatResult: function(data, value) {
   return value.split("-")[1];
   }   
});

しかし、そのemployee_IDをリダイレクトページに渡す方法がわかりません..

ここに私のコード全体:

$().ready(function() {

        $("#fname2").autocomplete("AutocompleteData.ashx", {
            minChars: 3,
            selectFirst: false,
            formatItem: function(data, i, n, value) {
            return value.split("-")[0];
            },
            //Not used, just for splitting employee_ID
            //formatResult: function(data, value) {
            //   return value.split("-")[1];
            //}  
            });

            $('#fname2').result(function(event, data, formatted) {
            location.href = "employee_profile.aspx?id=" + data
            });

    });

私は非常に親しいことを知っています。それは本当に簡単なことであるはずですが、誰か助けてもらえますか?

編集

これで解決しました:data.splitの代わりにformatted.split。コード:

$('#fname3').result(function(event, data, formatted) {
            var employeeId = formatted.split("-")[1];
            location.href = "employee_profile.aspx?id=" + employeeId
});
4

2 に答える 2

5

正常にリダイレクトされていると言っていますが、行くのではなく...

employee_profile.aspx?id=91210

それは...

employee_profile.aspx?id=John Doe-91210 ??

その場合は...結果関数内で単純にストライピングを実行できます...

$('#fname2').result(function(event, data, formatted) {
        var employeeId = data.split("-")[1];
        location.href = "employee_profile.aspx?id=" + employeeId
 });
于 2010-03-23T21:50:16.590 に答える
0

location.hrefあるべきだと思いますwindow.location

于 2010-03-23T21:51:20.647 に答える