【发布时间】:2017-09-15 19:20:26
【问题描述】:
我在我的 Ajax 调用中得到了结果,但填充的 select 元素没有以材质样式呈现,仅在选择浏览器默认值中呈现。我已经在$('select').material_select();、$.each、$.append 和成功函数上尝试了各种形式的渲染我的函数,但没有结果。
模板方面。
<div class="input-field col s12">
<select id="getUnit" ></select>
<label>Units</label>
</div>
Ajax Jquery 获取。
$(function () {
//request the JSON data and parse into the select element
$.ajax({
type: "GET",
url: '/product/unit-measurement-search',
success: function (unitMeasurement) {
//get a reference to the select element
$unit = $('#getUnit');
//clear the current content of the select
$unit.html('');
//iterate over the data and append a select option
$.each(unitMeasurement, function (info, unitSearch) {
$unit.append('<option id="' + unitSearch.descriptionUnitMeasurement + '">' + unitSearch.descriptionUnitMeasurement + '</option>');
});
}
});
});
后端进程请求json。
router.get('/product/unit-measurement-search', function (req, res) {
connection.query('SELECT
acronymUnitMeasurement,descriptionUnitMeasurement FROM unit_measurement',
function (err, unitMeasurement, fields) {
if (err) {
throw err;
}
res.send(unitMeasurement);
}
);
});
前端模板中的return只显示select的label。
编辑:
这是我的控制台输出:
【问题讨论】:
-
你在哪里选择选择?是 $unit 吗?
-
$.each完成后,执行$unit.material_select();。应该这样做。 -
@epascarello yesss
-
@trincot 未加载:c 检查我的控制台错误i.imgur.com/JXLU0Oy.png
-
从图像看来,您没有正确包含 Materialize。可以包含包含 jQuery 和 Materialize 的 HTML 吗?
标签: javascript jquery ajax materialize