easyui-combobox 动态添加选项

时间:2021-09-18 06:25:25

前言

       小编今天没事看看笔记,突然看到了一个项目中很常用的知识点——动态给easyui-combobox添加option,现在分享出来给大家!

实例

        本项目使用的是easyui-combobox,下拉框中的内容是动态的从数据库中查出来的,然后要在下拉内容中添加一个全部。

html

<span style="font-size:18px;"><input id="RewardObject" class="easyui-combobox" name="RewardObject" 
data-options="onSelect:function(){ SelectRewardByRewardName();},valueField:'id', textField:'text',editable:false,onBeforeLoad:function(){LoadRewardObject();}"/></font> </span>


js

<span style="font-size:18px;">function LoadRewardObject() { 
var str = window.location.search;
if (str != "") {
var ActivityID1 = str.valueOf(ActivityID);
var ActivityID2 = new Array();
ActivityID2 = ActivityID1.split("=");
var ActivityID = ActivityID2[1];
if(ActivityID !="")
{
$.ajax({

url: "/RewardOjbectGive/LoadRewardObject",
data:{"ActivityID":ActivityID},
type: 'post',
success: function (data) {
var themecombo2 = [{ 'text': '全部', 'id': ''}];
for (var i = 0; i < data.length; i++) {
themecombo2.push({ "text": data[i].RewardName, "id": data[i].RewardID });
}
$("#RewardObject").combobox("loadData", themecombo2);
}
});
}
else
{
return null;
}
}
}</span>

controller

<span style="font-size:18px;">   public JsonResult LoadRewardObject()
{
var ActivityID = Request["ActivityID"].ToString();
List<ta_reward_info> list = RewardBL.LoadRewardObject(ActivityID);
var temptype = from c in list
select new
{
id = c.RewardID,
text = c.RewardName
};
return Json(list, JsonRequestBehavior.AllowGet);
}</span>
   

        曾经想过在在controller中直接将要添加的选项添加到list里面,然后返回到页面上。但是list是一个实体类型的,要添加的是string类型的,所以只能在js里面添加了。而且想想,这次是要添加string类型的,下次呢……所以看问题要长远考虑!

Ps

     如果是select标签的下拉框,就使用以下方法:

<span style="font-size:18px;">function addOption(){
$("#下拉框的id").append( "<option value=\"1\">选项一</option>" );
}
</span>

总结

        我们要对基础的知识多多的积累,不要觉得知识点小的不值得在意,想想这些小知识都是很常用的呢!