我正在使用Jquery插件selectik。我正在尝试根据我的第一个下拉列表选择从数据库中填充下拉列表。我正在使用MVC 5,我在第一个下拉列表的变更事件上使用了下面的代码。我无法查看下拉列表中的值。但是当我按下F12并查找下拉列表时,我可以看到值在那里。可以帮助如何使用seleckik插件。
***function company_change() {
$("#automodel").empty();
$.getJSON('@Url.Action("GetAutoModel")', { CompanyModel: $("#company").val() }, function (cdata) {
$.each(cdata, function () {
$("#automodel").append("<option value='" + this.AutoModelId + "'>" + this.AutoModelName + "</option>");
});
});
$("#automodel").data("selectik").regreshCS();
}***
发布于 2014-05-03 14:41:23
首先,让我解释一下插件是如何工作的,没有办法在下拉列表上应用样式。因此,这个插件将隐藏实际的下拉列表,并使用其他html元素(div、span.)创建类似于下拉的结构。对于存储在data-selectik属性中的值(如果可用的话),它将使用选项名称。您需要refreshCS(),因为当您在实际下拉列表中更新选项时,插件不知道更新,当您调用refreshCS()时,它会重新读取数据并重新呈现可见的下拉菜单。
<option value="1" data-selectik="Spider man">Spider man<option>
$("#automodel").data("selectik").refreshCS();
。将refreshCS放入success方法中,getJson是异步调用,因此,无论getJSON调用的结果如何,最后一行都被执行。
function company_change() {
$("#automodel").empty();
$.getJSON('@Url.Action("GetAutoModel")', { CompanyModel: $("#company").val() }, function (cdata) {
$.each(cdata, function () {
$("#automodel").append("<option data-selectik='" + this.AutoModelName + "' value='" + this.AutoModelId + "'>" + this.AutoModelName + "</option>");
});
$("#automodel").data("selectik").refreshCS();
});
}
https://stackoverflow.com/questions/23445758
复制相似问题