2015年10月8日 星期四

【ASP.NET MVC】JQuery MultiSelect ListBox use Harvest chosen plugin


在 ASP.NET MVC WebApp proj 中引用 Harvest chosen plugin

載下來之後會用到的是
然後在 layout
  1. <link rel="stylesheet" href="~/Content/prism.css" />
  2. <link rel="stylesheet" href="~/Content/chosen.min.css" />
  3. <script src="~/Scripts/chosen.jquery.min.js"></script>
  4. <script src="~/Scripts/prism.js"></script>

最後要補 script 設定,我是設在個別頁
  1. @section scripts {
  2. <script>
  3. var config = {
  4. '.chosen-select': {},
  5. '.chosen-select-deselect': { allow_single_deselect: true },
  6. '.chosen-select-no-single': { disable_search_threshold: 10 },
  7. '.chosen-select-no-results': { no_results_text: 'Oops, nothing found!' },
  8. '.chosen-select-width': { width: "95%" }
  9. }
  10. for (var selector in config) {
  11. $(selector).chosen(config[selector]);
  12. }
  13. </script>
  14. }


Controller 給予
  1. public ActionResult Test()
  2. {
  3. var model = new MyViewModel();
  4.  
  5. // preselect items with values 2 and 4
  6. model.SelectedValues = new[] { 2, 4 };
  7.  
  8. // the list of available values
  9. model.Values = new[]
  10. {
  11. new SelectListItem { Value = "1", Text = "item 1" },
  12. new SelectListItem { Value = "2", Text = "item 2" },
  13. new SelectListItem { Value = "3", Text = "item 3" },
  14. new SelectListItem { Value = "4", Text = "item 4" },
  15. };
  16.  
  17. return View(model);
  18. }

cshtml 使用
  1. @using (Html.BeginForm())
  2. {
  3. @Html.ListBoxFor(x => x.SelectedValues, Model.Values, new { @class = "chosen-select", multiple = "multiple", style = "width: 300px", data_placeholder = "請選擇" })
  4. <br />
  5. <input type="submit" value="InputLst" />
  6. }

data_placeholder 是未選取時顯示的提示

ref: Harvest Chosen

7/1/17
更新範例 (跟內文會有少許出入)

沒有留言:

張貼留言