2

我想在我的网站上有一个功能,允许我有一个选择下拉菜单,在选择一个选项后,它将通过用一个保留该文本的按钮替换选择来锁定该选项。

我正在使用带有 jquery 的 KnockoutJS。

我想我总是可以只使用 KnockoutJS 的 html 数据绑定,并使用 javascript 在后台操作选择/按钮,但是有了 Knockout 可以做的所有花哨的事情,我想也许有更好的选择。

谢谢!

4

2 回答 2

2

我会使用 Knockout 的visible绑定。在此示例中,selectandbutton根据值的长度进行切换,但您也可以使用第二个属性来切换可见性,以防您可能需要select在某些时候再次显示。

HTML

<select data-bind="value: test, visible: !test().length">
    <option></option>
    <option>Option 1</option>
    <option>Option 2</option>
</select>
<button data-bind="text: test, visible: test().length"></button>

JavaScript

var ViewModel = {
    test: ko.observable('')
};
ko.applyBindings(ViewModel);

这是一个小提琴:http: //jsfiddle.net/bQKt6/2/

这是一个小提琴,它使用辅助属性来切换可见性以及button显示select再次的点击处理程序:http: //jsfiddle.net/LYhDx/1/

于 2014-04-25T21:24:41.613 回答
1

在下拉列表中放置一个.change处理程序,然后用带有按钮的 jquery 替换它。通过使用保持下拉列表的值.val

这是给你的一个例子:http: //jsfiddle.net/Rm69F/

于 2014-04-25T20:03:25.223 回答