0

以下は私のコードです。

$(document).ready(function () {

    $.ajax({
        type: 'Get',
        url: "ExamCode",
        datatype: 'json', 
        success: function (data) {               
            source = data;
        },
        error: function (req, status, error) {
            ErrorMessage(req.responseText);
            $("#ui-datepicker-div").hide();
        }
    });


    function split(val) {
        //return val.split(/,\s*/);
        return val.split(",");
    }
    function extractLast(term) {
        return split(term).pop();
    }

    $("#txtCertificate")
    // don't navigate away from the field on tab when selecting an item
  .bind("keydown", function (event) {
      if (event.keyCode === $.ui.keyCode.TAB &&
        $(this).data("ui-autocomplete").menu.active) {
          event.preventDefault();
      }
  })
  .autocomplete({
      minLength: 0,
      source: function (request, response) {
          // delegate back to autocomplete, but extract the last term
          response($.ui.autocomplete.filter(
        source, extractLast(request.term)));
      },
      focus: function () {

          // prevent value inserted on focus
          return false;
      },
      select: function (event, ui) {
          var terms = split(this.value);
          // remove the current input
          terms.pop();
          // add the selected item
          terms.push(ui.item.value);
          // add placeholder to get the comma-and-space at the end
          terms.push("");
          this.value = terms.join(",");
          return false;
      }
  });
}

コントローラーからデータを取得しましたが、以下のエラーが発生しています。

Object function (i,j){if(arguments.length){this._createWidget(i,j)}} 
has no method 'filter'
4

1 に答える 1

0

jQuery参照の問題でした。
ページに jQuery ref を追加したところ、問題なく動作しました。

于 2013-08-23T05:18:19.383 に答える