2015-04-30 2 views
0

Я пытаюсь заполнить данные в Select2 выпадающее меню с помощью JSON, который возвращается контроллером class.But не working.There нет error.Here не является кодомJquery Выбор2 плагин с asp.net mvc4 и AJAX

стороне клиента

$("#products").select2({ 
     minimumInputLength: 2, 
     ajax: { 
      url: "Search", 
      dataType: 'json', 
      type: "POST", 
      quietMillis: 50, 
      data: function (term) { 
       return { 
        "q": JSON.stringify(term), 
       }; 
      }, 
      results: function (data) { 
       return { 
        results: $.map(data, function (item) { 
         return { 
          text: item.text, 
          id: item.id 
         } 
        }) 
       }; 
      } 
     } 
    }); 

Действие контроллера

[HttpPost] 
    public JsonResult Search(string q) 
    { 
     //testing data 
     return Json(new products() {id = "2", text = "biotouch"});  
    } 

Класс продукта

public class products() 
{ 
    public string id{get;set;} 
    public string text{get;set;} 
} 

ответ

1

Он работал, когда я изменил

results: function (data) { 

в

ProcessResults: function (data) { 
0
$("#products").select2({ 
      minimumInputLength: 2, 
      ajax: { 
       url: "YourControllerName/Search", 
       dataType: 'json', 
       type: "POST", 
       quietMillis: 50, 
       data: function (term) { 
        return { 
         "q": JSON.stringify(term), 
        }; 
       }, 
       results: function (data) { 
        return { 
         results: $.map(data, function (item) { 
          return { 
           text: item.text, 
           id: item.id 
          } 
         }) 
        }; 
       } 
      } 
     }); 

Я добавил имя контроллера в URL вы забыли добавить имя контроллера в URL.

Смежные вопросы