javascript - Jquery/Javascript 重构基础知识

标签 javascript jquery asp.net-mvc model-view-controller

在谈到 JavaScript/JQuery 时,我仍然认为自己是一个新手。我将如何将其折射为我可以重复使用的方法/函数。

$.getJSON('@Url.Action("GetLabNames", "Micro")', null, function(j) {
    var options = '';

    for (var i = 0; i < j.length; i++) {
        if (elem.value == j[i].Description) {
            options += '<option selected="selected" value="' + j[i].Lab_LN_ID + '">' + j[i].Description + '</option>'
        } else {
            options += '<option value="' + j[i].Lab_LN_ID + '">' + j[i].Description + '</option>'
        }
    }

    $(elem).html(options);

    $(elem).multiselect({
        multiple: false,
        header: "Select an option",
        noneSelectedText: 'Lab Name',
        selectedList: 1,
        minWidth: 150
    });

});

我希望有类似的功能

 CreateMultiSelect(elem, controller, action, text, value);

但我不能将对象属性传递到函数中,例如(Lab_LN_ID,Description),并使它们成为文本(例如'Lab_LN_ID','Description'),显然行不通,我不确定如何开始吧?

最佳答案

为什么不返回一个具有通用属性名的json对象呢?这将大大简化这一过程。

例如

[{Text: 'text', Value: '1'},{Text: 'text', Value: '1'}]

然后您可以非常轻松地创建所有选项。

    $('<option />', { value: item.Value, text: item.Text });

关于javascript - Jquery/Javascript 重构基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835627/

相关文章:

c# - 元数据类与 asp.net MVC 中的 ViewModel 相同吗?

ASP.Net Web API 在 VS 中正确显示但给出 HTTP 500

javascript - 将 css rtl 定向格式复制到剪贴板

javascript - ng-click 根本不触发任何东西

javascript - Twit API 回复并没有真正回复

jquery - 从 iframe 触发 jQuery 事件

javascript - jQuery .hasClass() 选项卡更改失败

asp.net - SQL Server主-子关系而不是表中的存储过程

javascript - 阻止对象共享值

javascript - 转换Javascript Image Rotator播放Youtube视频