选择.js而不是从服务器端呈现选项
本文关键字:服务器端 选项 js 选择 | 更新日期: 2023-09-27 18:18:47
使用Selectize.js,我能够从服务器检索数据,但回调上的下拉菜单中没有显示任何内容。也许是数据格式的问题?
在服务器上,我使用system . web . script . serialize . 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'"
}
]"
}
服务器(msg.d
)返回的数据是一个String
。必须是Array
你应该检查你的Default.aspx/GetUsers
方法返回它