Knockout.js 带KnockoutJS的语义UI选择下拉列表
那么,以前有人试过吗?有没有办法将语义UI下拉列表与KnockoutJS集成?最好使用select下拉选择,因为我想将其集成到我的表单中。是的,您想做什么 下面是一个例子:Knockout.js 带KnockoutJS的语义UI选择下拉列表,knockout.js,semantic-ui,Knockout.js,Semantic Ui,那么,以前有人试过吗?有没有办法将语义UI下拉列表与KnockoutJS集成?最好使用select下拉选择,因为我想将其集成到我的表单中。是的,您想做什么 下面是一个例子: <div class="ui selection dropdown" id="ProjectDD"> <input type="hidden" name="project"> <i class="dropdown icon"></i> <div c
<div class="ui selection dropdown" id="ProjectDD">
<input type="hidden" name="project">
<i class="dropdown icon"></i>
<div class="default text">Project...</div>
<div class="menu" data-bind="foreach: ProjectCollection">
<div class="item" data-bind="text: name, attr: {'data-value':id}">
</div>
</div>
</div>
项目
我也遇到了同样的问题,找到了解决办法。问题似乎在于knockout.js生成的空选项值。所以,在敲除绑定后为选项赋值,然后初始化下拉列表解决了这个问题
//after ko.applyBindings
var i=1;
$("#dropdown > option").each(function() {
this.value=i;
i++;
});
$('.ui.dropdown').dropdown();
是的,你可以像这个HTML一样使用select
<div class="ui form">
<div class="field">
<select data-bind="options: optionsText,
value: selectedOption,
optionsCaption: 'Select Options'">
</select>
</div>
</div>
您可以看到演示嗯,我尝试了您的解决方案,但对我无效。我尝试在select上使用convert方法。比如:
var ViewModel = function() {
var self=this;
self.optionsText=ko.observableArray(['Some','Thing','Like','This']);
self.selectedOption=ko.observable();
self.selectedOption.subscribe(function(newValue) {
alert("Selected value " + newValue);
});
};
ko.applyBindings(new ViewModel());