我想在我的网站上有一个功能,允许我有一个选择下拉菜单,在选择一个选项后,它将通过用一个保留该文本的按钮替换选择来锁定该选项。
我正在使用带有 jquery 的 KnockoutJS。
我想我总是可以只使用 KnockoutJS 的 html 数据绑定,并使用 javascript 在后台操作选择/按钮,但是有了 Knockout 可以做的所有花哨的事情,我想也许有更好的选择。
谢谢!
我想在我的网站上有一个功能,允许我有一个选择下拉菜单,在选择一个选项后,它将通过用一个保留该文本的按钮替换选择来锁定该选项。
我正在使用带有 jquery 的 KnockoutJS。
我想我总是可以只使用 KnockoutJS 的 html 数据绑定,并使用 javascript 在后台操作选择/按钮,但是有了 Knockout 可以做的所有花哨的事情,我想也许有更好的选择。
谢谢!
我会使用 Knockout 的visible
绑定。在此示例中,select
andbutton
根据值的长度进行切换,但您也可以使用第二个属性来切换可见性,以防您可能需要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/
在下拉列表中放置一个.change
处理程序,然后用带有按钮的 jquery 替换它。通过使用保持下拉列表的值.val
这是给你的一个例子:http: //jsfiddle.net/Rm69F/