magicsuggest - Magic Suggest - Pre-select multiple items from MVC Model -
i'm looking way populate magic suggest control multiple values. using asp.net mvc , set these values based on properties in model.
part 1: magic suggest support multiple values? related question on sof addresses adding single value not multiple. possible?
part 2: ideally, i'd bind control mvc model somehow. if not possible, i'd @ least set pre-selected values dynamically. have access model via razor syntax. similar how magic suggest allows set data perhaps.
$(function () { $('#magicsuggest').magicsuggest({ data: '/controller/getvaluesjson?mealid=@model.id', valuefield: 'id', displayfield: 'name', /* property below allows pre-selection */ /* how can use razor , set mvc model?* / value: */ code here */ }); });
edit: part 2: attempting set value property variable seems fail. i've tried variations of strings, quotes etc. no avail.
var returnedids = [1,2]; // or variable population $(function () { $('#magicsuggest').magicsuggest({ data: '/controller/getvaluesjson?mealid=@model.id', valuefield: 'id', displayfield: 'name', value: [returnedids] }); });
solved: @karlipoppins posts below , tinkering.
$(function () { $.ajax({ url: '@url.action("getsomevaluesjson")', data: { id: 1}, type: 'post', success: function (returnedval) { var ms = $('#magicsuggest').magicsuggest( { data: '/meal/getsomevaluesjson?&id=@model.id', valuefield: 'id', displayfield: 'name', }); ms.setvalue(returnedval); } }); });
from understand trying set multiple values when component loaded up. on code using id
value field , name
displayfield.
this means magicsuggest expecting data
in form of
[{"id": 1, "name": "hello"}, {"id": 2, "name": "world"}, {"id": 3, "name": "no"}]
now set multiple values, can
1) when defining component in js:
$('#magicsuggest').magicsuggest({ data: '/controller/getvaluesjson?mealid=@model.id', valuefield: 'id', displayfield: 'name', value: [1, 2] // select 'hello', 'world' });
2) or can define directly in dom containing field:
<div id="magicsuggest" value="[1,2]"></div>
and create component this:
$('#magicsuggest').magicsuggest({ data: '/controller/getvaluesjson?mealid=@model.id', valuefield: 'id', displayfield: 'name' });
see both examples here: http://jsfiddle.net/kpz6y/
cheers
Comments
Post a Comment