【问题标题】:loading remote data to select2 input type is not working将远程数据加载到 select2 输入类型不起作用
【发布时间】:2013-11-20 09:40:43
【问题描述】:

我正在尝试将远程数据加载到在 asp.net 中使用以下方法隐藏的 select2 输入类型

public String ConvertDatasettoArrayList()
    {
        DataSet ds = new DataSet();
        // List<UserDetails> details = new List<UserDetails>();
        ArrayList list = new ArrayList();
        SqlConnection con = new SqlConnection("server=PBSUSER5;database=graph;user id=sa;password=panacya");
        SqlCommand cmd = new SqlCommand("usp_selecttables_info", con);
        cmd.CommandType = CommandType.StoredProcedure;
        con.Open();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        StringBuilder sb = new StringBuilder();
        sb.Append("[");
        int i = ds.Tables[0].Rows.Count;
        int j = 1;
        foreach (DataRow dtrow in ds.Tables[0].Rows)
        {
            sb.Append("{id:" + Convert.ToInt32(dtrow["id"].ToString()) + ",text:");

            sb.Append("'" + dtrow[1].ToString()+"'");
            sb.Append("}");
            if (i != j)
                sb.Append(",");
            j++;
            list.Add(dtrow);
        }
        sb.Append("]");

        System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            string s = sb.ToString();

            return serializer.Serialize(s);

    }

此方法返回以下字符串

   [{id:1,text:'panacya'},{id:2,text:'items'},{id:3,text:'systems'},{id:4,text:'devlopment'},{id:5,text:'cellphones'},{id:6,text:'textfeels'}]

脚本是,当我静态绑定该字符串数组时它正在工作,但是当绑定远程数据变量时它没有加载。

        $(function () {
        alert('calling');

        var d =JSON.parse( '<%=ConvertDatasettoArrayList()%>');
        alert(d)

        $("#ex2").select2({
            data: [{ id: 1, text: 'panacya' }, { id: 2, text: 'items' }, { id: 3, text: 'systems' }, { id: 4, text: 'devlopment' }, { id: 5, text: 'cellphones' }, { id: 6, text: 'textfeels' }]// working fine but for below statement

            data: d// remote data variable it is not binding
        });

    });
</script>

【问题讨论】:

    标签: javascript jquery-select2


    【解决方案1】:

    由于 JSON-String 已经包含 ',因此在将数据放入 String 时,您要么必须转义它们,要么使用 "。使用以下代码设置d

    var d=JSON.parse("<%=ConvertDatasettoArrayList()%>");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 2017-12-23
      • 2018-01-02
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多