.net如何用ajax,js 为标签<select>动态添加数据 求个简单明了的实例

解决方案 »

  1.   

    .net 写一个Hanler程序,读取数据库里你需要添加的select的信息,返回一个json格式的字串.前台用ajax接收这个字串.然后转换成json数据.js遍历这个json数据,添加select即可.
      

  2.   

    实例代码:页面上价格    <select id="testWebsite"></select>        $(document).ready(function () {
                InitTestSelect();
            })
            //初始化下拉框
            var InitTestSelect = function () {
                $.ajax({
                    url: "/Test/GetSiteSelectList",
                    type: "get",
                    dataType: "json",
                    success: function (result) {
                        $.each(result, function (key, data) {
                            $("#testWebsite").append("<option value=" + data.value + ">" + data.name + "</option>");
                        })
                    }
                })
            }后台controller部分,现在只是为示例所以数据源没从数据苦读取,你可以自己换        public JsonResult GetSiteSelectList()
            {
                IList<object> selectDataSource = new List<object>();            selectDataSource.Add(new { name = "网易", value = 1 });
                selectDataSource.Add(new { name = "腾讯", value = 2 });
                selectDataSource.Add(new { name = "谷歌", value = 3 });
                selectDataSource.Add(new { name = "游戏", value = 4 });
                selectDataSource.Add(new { name = "百度", value = 5 });            return Json(selectDataSource, JsonRequestBehavior.AllowGet);
            }当然前台其实也可以用其他的ajax的方式例如$.getJSON, 也不错如下
                this.InitTestSelect = function () {
                    $.getJSON("/Test/GetSiteSelectList", {}, function (result) {
                        $.each(result, function (key, data) {
                            $("#testWebsite").append("<option value=" + data.value + ">" + data.name + "</option>");
                        })
                    })
                }
    这应该是LZ你想要的那种,希望对你有帮助,望及时结贴3Q~
      

  3.   

     string cmd = WebCommon.Request.GetStringQuery(Request);
                BOSS.Model.Core.SysGameEntity[] gamelist = BOSS.ApiSynchro.DataSource.GameList(BOSS.Model.Core.WebSiteGame.FlagSite.销售金币);
                
                DropDownList game = new DropDownList();
                game.DataSource = gamelist;
                game.DataTextField = "NameEN";
                string aa = gamelist[1].NameEN;
                game.DataBind();
                game.Items.Insert(0, new ListItem("Choose"));
       我在这个  ajax.aspx页面的后台写的 game绑定了数据  
       function divGameGet()
    {
        var ulGame = document.getElementById("game");    var xlhtml;
        if(window.XMLHttpRequest)
        {
            xlhtml=new XMLHttpRequest();
        }
        else
        {
            xlhtml=new ActiveXObject("Microsoft.XMLHTTP");
        }
        function StateChanged()
        {
            if(xlhtml.readyState==4||xlhtml.status==200)
            var url="common/ajax.aspx?aa";
            xlhtml.open("GET",url,true);
            xlhtml.send();
        }
        ulGame.innerHTML= xlhtml.responseText;
          
    }    
     这个JS取不到值 不知道哪里好改改 麻烦看看
      

  4.   

    说实话你和看起来有点乱....而且实际情况下这样用ajax的比较少...学下用jquery的方式来用ajax吧, 就几行代码能完成你要的效果了~
      

  5.   

    这个能取到数据 就是JS不知道咋写了  取不到ajax里面的值 你看下我那个JS该怎么改
      

  6.   

    其实有点不懂你的意思,因为如果像你这样的web form的方式在后台已经绑定了你要的select数据源,他在render到前台页面翻译成select的时候也已经使用了你在后台绑定的那个datasource了,那为什么还需要ajax的方式去绑定,如果是要ajax的方式你直接就通过ajax在  设置URL的时候设置成你需要获取数据源的那个路径,然后在前台$.each一下添加一下选项内容就可以了~
      

  7.   

    var par={"值一":"sdfs"};$.post("页面",json.strfinty(par),function(v){   //V为返回回来的值
       $("select").append("<option>sfdsf</option>")
    });
      

  8.   


    其实呢 我那个是要动态绑定数据的  比如说我的那game是绑定游戏名字的 server来绑定服务器的 游戏不同 服务器也就不同 所以需要ajax动态绑定  我只是想知道那个路径该怎么写  或者后台的代码是不是要改下
    加下我Q吧  1905775583