【问题标题】:Selectize.js not rendering options from serverSelectize.js 不从服务器呈现选项
【发布时间】:2014-10-13 23:24:08
【问题描述】:

使用 Selectize.js,我能够从服务器检索数据,但回调的下拉列表中没有显示任何内容。也许是数据的格式?

在服务器上,我使用 System.Web.Script.Serialization.JavaScriptSerializer 序列化数据表 (C#) 并返回 JSON 对象。

不知道为什么数据没有呈现。

代码:

<div class="sandbox">
    <label for="select-movie">Movie:</label>
    <select id="select-movie" class="movies" placeholder="Find a PO..."></select>
</div>

<script class="show">
    $('#select-movie').selectize({
    valueField: 'ID',
    labelField: 'PO',
    searchField: 'PO',
    create: false,
    options: [],
    render: {
        option: function (item, escape) {
            return '<div>' + item.PO + ' ' + escape(item.PO) '</div>';
        }
    },
    load: function (query, callback) {

        if (!query.length) return callback();

        var dataString = JSON.stringify({
        prefixText: query
        });

        $.ajax({
        type: "POST",
        url: "Default.aspx/GetUsers",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        data: dataString,
        error: function () {
            callback();
        },
        success: function (msg) {
            alert(msg.d);
            callback(msg.d);


        }
        });
    }
    });
</script>  

从服务器返回的数据:

{
    "d":"[
        {
            \"ID\":1,
            \"PO\":\"PO/REQ Number\"
        },
        {
            \"ID\":262,
            \"PO\":\"this po\"
        },
        {
            \"ID\":264,
            \"PO\":\"Test po\"
        },
        {
            \"ID\":267,
            \"PO\":\"Test PO 1\"
        }
    ]"
}

【问题讨论】:

    标签: c# selectize.js


    【解决方案1】:

    从服务器 (msg.d) 返回的数据是 String。必须是Array

    您应该检查您的 Default.aspx/GetUsers 方法以返回它。

    【讨论】:

      猜你喜欢
      • 2017-04-28
      • 2022-01-06
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2021-04-20
      相关资源
      最近更新 更多