如何根据用户选择更新我的税款
How to update my tax based on user selection
我正试图弄清楚当用户选择特定状态时如何更新我的税收百分比。这是我的代码(去掉无关数据):
<select data-bind="event: {change: checkTax }">
<option value="PA">PA</option>
<option value="FL">FL</option>
</select>
<span data-bind="text: taxedItems"></span>
var MainViewModel = function() {
var self = this;
var response = arrayFromJson;
// ...
self.checkTax = function (viewModel, event) {
if (event.target.value === "FL") {
userTax = "this should appear";
}
};
self.taxedItems = ko.pureComputed(function() {
taxcost = userTax;
return taxcost;
});
self.CartItems($.map(response, function(item) {
return new AppViewModel(item);
}));
};
function AppViewModel(data) {
var self = this;
// ...
}
ko.applyBindings(new MainViewModel());
首先taxedItems
应该为空,然后在用户将其更改为FL
之后,taxedItems
应该说"this should appear"
,但事实并非如此,它只是完全绕过了更新taxedItems
。有人知道为什么会这样吗?
如果您想在mainViewModel中包含taxedItems,您可以执行以下操作:
VM:
var MainViewModel = function () {
var self = this;
self.CartItems = ko.observableArray([]);
self.States = ko.observableArray([{Value:"CA",Name:"CA"},
{Value:"FL",Name:"FL"},
{Value:"NY",Name:"NY"},
{Value:"VG",Name:"VG"},
{Value:"TX",Name:"TX"}
]);
var response = [{ }];
self.CartItems($.map(response, function (item) {
return new AppViewModel(item);
}));
self.TaxedItems = ko.observable();
self.SelectedState = ko.observable(0);
self.SelectedState.subscribe(function (StateValue) {
if(StateValue ==='FL'){
self.TaxedItems('this should appear');
}else{
self.TaxedItems('');
}
})
}
function AppViewModel(data) {
var self = this;
// ...
}
ko.applyBindings(new MainViewModel());
视图:
<select data-bind="foreach: States ,value:SelectedState">
<option data-bind="visible:$index()==0" value="0" disabled>Select Tax State..</option>
<option data-bind="value: Value,text:Name"></option>
</select>
<br>
<span data-bind="text: TaxedItems"></span>
示例:http://jsfiddle.net/GSvnh/5095/
相关文章:
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- Angular没有根据模型更新我的选择元素
- 更新数据,而不是用javascript和jquery将其添加到我的表中
- 为什么ngModelCtrl$脏不在我的指令中更新
- 如何使用ng repeat中的选定输入更新我的对象
- 更新Wordpress和我的平滑滚动停止工作
- 为什么我的文本框没有用查询结果更新
- 如何在 D3 中更新我的多折线图数据
- 更新/销毁我的观点,我相信我的逻辑可能需要注意
- 为什么我的状态在 React.js 中没有更新
- 如何使用javascript异步更新我的内容
- 为什么我的 cshtml 页面的 javascript 没有在浏览器中更新/刷新
- 值更改我的链接而不更新
- 我希望我的php/html网站上的JavaScript能够实时更新
- knockout.js获胜't更新我的foreach绑定,尽管更改已注册
- 如何在不按ctrl+F5的情况下更新我的Web应用程序(chrome、mozilla、IE8+)更改
- 为什么'这些AJAX调用正在更新我的变量
- 我的服务没有更新-Angularjs
- 如何使用错误消息或成功消息动态更新我的跨度
- 为什么我的更新页面不工作