java 下拉列表 枚举_将枚举的键值绑定到下拉列表框

控制器代码:

///assemblyString:程序集名称的长格式,name:获取程序集实例中具有指定名称的 System.Type 对象,except:除了哪些枚举(键或值都可以)不加载到下拉列表框

///此方法写在控制器当中,GetEnum则为 最下面Html代码中的Action名

public ActionResult GetEnum(string assemblyString, string name, string except = "")

{

except = string.Format(",{0},", except.ToUpper());

Assembly ass = Assembly.Load(assemblyString);

Type type = ass.GetType(name);

if (type != null && type.IsEnum)

{

string[] names = type.GetEnumNames();

int[] values = (int[])type.GetEnumValues();

List list = new List();

for (int i = 0; i < names.Length; i++)

{

if (except.IndexOf(string.Format(",{0},", names[i].ToUpper())) < 0)

list.Add(new { text = names[i], value = values[i] });

}

return Json(list);

}

return Json(null);

}

js代码:(使用前引用jquery)

$(function () {

AjaxSelect();

//获取枚举的值并将名称和值绑定在选择框,params提交到后台地址的参数对象

function AjaxSelect() {

//ajaxselect 在要用到自动加载枚举键值的select标签上必须加class值

$(".ajaxselect").each(function () {

var _this = $(this);

//eval 表示 将字符串作为javascript代码进行执行,此处代表是一个对象

var opts = eval('(' + _this.attr("data-options") + ')');

var option = "";

$.post(opts.url, opts.params, function (data) {

$.each(data, function (i, n) {

if (n.text == opts.select)

option += "" + n.text + "";

else

option += "" + n.text + "";

});

_this.append(option);

}, "json");

});

}

});

Html中的具体写法:

选择

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值