【发布时间】:2018-01-18 07:10:45
【问题描述】:
我使用 Knockout,我的问题是我似乎无法渲染 Selectpicker。我将直接进入一些代码,以帮助自己解释。
脚本:
<script src="~/scripts/jquery-3.1.1.js"></script>
<script src="~/Scripts/knockout-3.4.2.js"></script>
<script src="~/Scripts/moment.js"></script>
<script src="~/Scripts/knockout.mapping-latest.js"></script>
<script src="~/Scripts/bootstrap-select.min.js"></script>
CSS
<link rel="stylesheet" href="~/Content/bootstrap-select.min.css">
这是我需要渲染下拉框的脚本。
$(document).load(function () {
$(".selectpicker").selectpicker({
liveSearch: true,
showSubtext: true
});
});
这是我用来获取对象并将它们绑定到视图的 Ajax。
$.ajax({
type: "GET",
url: "@Url.Action("GetView", "Medarbejders", new {area = "" , id = ViewBag.id})",
}).done(function (data) {
$(data).each(function (index, element) {
var mappedItem =
{
Id: ko.observable(element.Id),
MedarbejderId: ko.observable(element.MedarbejderId),
Mode: ko.observable("edit")
};
console.log(mappedItem);
viewModel.lookupCollection.push(mappedItem);
});
ko.applyBindings(viewModel);
// Here is where i think i would need to Render the script. But getting an Error see futher down.
});
});
这让我想到了我的模板。
<tbody data-bind="foreach: lookupCollection">
<tr data-bind="template: { name: Mode, data: $data }"></tr>
</tbody>
</table>
<script type="text/html" id="display">
<td data-bind="text: MedarbejderId"></td>
<td>
<button class="btn btn-success kout-edit">ændre</button>
<button class="btn btn-danger kout-delete">slet</button>
</td>
</script>
<script type="text/html" id="edit">
<td><u>Medarbejder</u><br />@Html.DropDownList("MedarbejderId", (SelectList)ViewBag.MedarbejderId, "Vælg medarbejdere", htmlAttributes: new
{
@data_bind = "value: MedarbejderId",
@class = "selectpicker form-control",
data_show_subtext = "true",
data_live_search = "true"
})
</td>
如果我使用开发人员工具检查我的页面,我在控制台中收到错误“.selectpicker 不是 jquery 中的函数”有人可以帮助我吗?最近几天一直遇到这个错误。
当放入渲染脚本时,这是我得到的错误。
Uncaught TypeError: $(...).selectpicker is not a function
JsFiddle: http://jsfiddle.net/7RDc3/5854/
如果添加换行符,则选择器不起作用。
【问题讨论】:
-
你在使用引导选择器吗?
-
是的,引导选择。
-
你试过重新排序 js 引用吗?
-
是的,很遗憾没有运气。
-
你能告诉我你做的捆绑吗?
标签: javascript c# jquery asp.net-mvc knockout.js