首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用selectik jquery pulgin填充下拉列表

用selectik jquery pulgin填充下拉列表
EN

Stack Overflow用户
提问于 2014-05-03 14:32:44
回答 1查看 196关注 0票数 0

我正在使用Jquery插件selectik。我正在尝试根据我的第一个下拉列表选择从数据库中填充下拉列表。我正在使用MVC 5,我在第一个下拉列表的变更事件上使用了下面的代码。我无法查看下拉列表中的值。但是当我按下F12并查找下拉列表时,我可以看到值在那里。可以帮助如何使用seleckik插件。

代码语言:javascript
运行
复制
 ***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();
    }***
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-03 14:41:23

首先,让我解释一下插件是如何工作的,没有办法在下拉列表上应用样式。因此,这个插件将隐藏实际的下拉列表,并使用其他html元素(div、span.)创建类似于下拉的结构。对于存储在data-selectik属性中的值(如果可用的话),它将使用选项名称。您需要refreshCS(),因为当您在实际下拉列表中更新选项时,插件不知道更新,当您调用refreshCS()时,它会重新读取数据并重新呈现可见的下拉菜单。

  • 在应用插件的select元素的所有选项中添加一个属性,插件内部使用该属性来显示名称,如果您想格式化在实际选项中无法执行的名称,则为选项值,如下所示 <option value="1" data-selectik="Spider man">Spider man<option>
  • 更新新数据后刷新选择的函数是refreshCS而不是regreshCS ie $("#automodel").data("selectik").refreshCS();

将refreshCS放入success方法中,getJson是异步调用,因此,无论getJSON调用的结果如何,最后一行都被执行。

代码语言:javascript
运行
复制
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();
        });

    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23445758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档