Aleksander
Top achievements
Rank 1
Aleksander
asked on 24 May 2012, 05:07 PM
I have a Drop Down list initialized as:
$('#ddlSearchPNResults').kendoDropDownList({
dataTextField: "Text",
dataValueField: "Value",
autoBind: false
});
Then in my Ajax call I have the following:
$.ajax({
url: '/Home/SearchPerson',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "personName": "' + personName + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.dataSource.data = retData;
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
But when I see the dropdownlist its still empty.
Please help.
$('#ddlSearchPNResults').kendoDropDownList({
dataTextField: "Text",
dataValueField: "Value",
autoBind: false
});
Then in my Ajax call I have the following:
$.ajax({
url: '/Home/SearchPerson',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "personName": "' + personName + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.dataSource.data = retData;
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
But when I see the dropdownlist its still empty.
Please help.
8 Answers, 1 is accepted
0
Chris
Top achievements
Rank 1
answered on 28 May 2012, 09:37 AM
Have you tried using the setDataSource() method?
0
mo2011ti
Top achievements
Rank 1
answered on 25 Jul 2012, 03:35 PM
Is there any answer to this?
how to use setDataSource() method???? i cant find it
thanks
how to use setDataSource() method???? i cant find it
thanks
0
Chris
Top achievements
Rank 1
answered on 25 Jul 2012, 03:54 PM
Try changing your original code to this:
$.ajax({
url: '/Home/SearchPerson',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "personName": "' + personName + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.setDataSource(retData);
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
$.ajax({
url: '/Home/SearchPerson',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "personName": "' + personName + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.setDataSource(retData);
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
0
mo2011ti
Top achievements
Rank 1
answered on 25 Jul 2012, 03:57 PM
Chris
Thanks a lot!
That was very fast.
Moti
Thanks a lot!
That was very fast.
Moti
0
Chris
Top achievements
Rank 1
answered on 25 Jul 2012, 04:08 PM
No problem, hope it works!
0
mo2011ti
Top achievements
Rank 1
answered on 25 Jul 2012, 08:09 PM
works! THANKS
0
Chillax
Top achievements
Rank 1
answered on 30 Oct 2012, 08:06 AM
I am facing the same problem. My dropdown is not binding with the Ajax result. I am returning a List of my object. Here is the sample code.
Controller:
public ActionResult SingleLevelOptions(int ParentID)
{
List<Models.Shared.SingleLevelOptions> OptionsList;
Models.Shared.SingleLevelOptions obj = new Models.Shared.SingleLevelOptions();
string username ="any user";
OptionsList = obj.GetSingleLevelOptions(username, ParentID);
return Json(new { OptionsList }, JsonRequestBehavior.AllowGet);
}
View:
<input id="ddlSearchPNResults" />
<script type="text/javascript">
$('#ddlSearchPNResults').kendoDropDownList({
dataTextField: "OptionName",
dataValueField: "OptionID",
autoBind: false
});
$.ajax({
url: '/Home/SingleLevelOptions',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "ParentID": "' + 53 + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.setDataSource(retData);
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
</script>
Controller:
public ActionResult SingleLevelOptions(int ParentID)
{
List<Models.Shared.SingleLevelOptions> OptionsList;
Models.Shared.SingleLevelOptions obj = new Models.Shared.SingleLevelOptions();
string username ="any user";
OptionsList = obj.GetSingleLevelOptions(username, ParentID);
return Json(new { OptionsList }, JsonRequestBehavior.AllowGet);
}
View:
<input id="ddlSearchPNResults" />
<script type="text/javascript">
$('#ddlSearchPNResults').kendoDropDownList({
dataTextField: "OptionName",
dataValueField: "OptionID",
autoBind: false
});
$.ajax({
url: '/Home/SingleLevelOptions',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: '{ "ParentID": "' + 53 + '" }',
success: function (retData) {
if (JSON.stringify(retData) != "[]") {
var ddl = $('#ddlSearchPNResults').data("kendoDropDownList");
ddl.setDataSource(retData);
ddl.refresh();
$('#divSearchPNResults').show();
}
},
error: function (xhr, tStatus, err) {
//alert(err);
}
});
</script>
0
Paul
Top achievements
Rank 1
answered on 01 Nov 2012, 01:50 PM
HI All
This thread mentions the setDataSource as a method of DropDownList I cannot find it on the drop down list
my code:
var aspects = @Html.Raw(Model.Aspects.ToJson());
var l = $("#SourceAspectId").data("kendoDropDownList");
l.setDataSource(aspects);
l.refresh();
returns
Thanks
This thread mentions the setDataSource as a method of DropDownList I cannot find it on the drop down list
my code:
var aspects = @Html.Raw(Model.Aspects.ToJson());
var l = $("#SourceAspectId").data("kendoDropDownList");
l.setDataSource(aspects);
l.refresh();
returns
TypeError: l.setDataSource is not a functionWhat might I be doing wrong? Ideally what I want to do is provide the data for the dropdown as embedded json rather than calling back to the server note I am attempting to use the MVC extensions rather than a script block to configure the drop down list.
l.dataSource(aspects);
Thanks