In code it uses $.get() and returns data in json format. So you are not getting correct data - use $.getJson instead of that.
Follow below steps to achieve the same:
Step 1: Controller Code
public ActionResult getLGA()
{
try
{
Category c = new Category();
char[] chars = { ',' };
testStealthServ.countries csd = new testStealthServ.countries();
List<string> sth = csd.getlocal("2").ToList<string>();
foreach (var v in sth)
{
string[] splits = v.Split(chars);
c.lgaName.Add(splits.ElementAt(0));
c.lgaID.Add(splits.ElementAt(1));
}
return Json(c.lgaName, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw ex;
}
}
Step 2: Javascript Code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$.getJSON('@Url.Action("getLGA","ControllerName")', function(costs) {
var $sel = $("#schllga");
$sel.empty();
$.each(costs, function(index, element) {
$("<option/>").text(element).appendTo($sel);
});
});
</script>
Note: You need to put your controller name.