gpt4 book ai didi

javascript - Knockout .js 和点击更改值

转载 作者:行者123 更新时间:2023-11-30 07:16:17 24 4
gpt4 key购买 nike

下面是简化的代码。我有另一个构建 w/ajax 调用,我知道它正在工作 b/c 我可以看到它们命中服务器。但是我无法获取将更改呈现回 UI 的内容。

.html:

<div id="LoginPage" data-title="LoginPage" data-role="page" data-theme="a">
<div data-role="content" class="minimalPaddingContent">
<div class="divDivider"></div>
<h3>REACH Energy Audit Login</h3>

<input type="text" placeholder="User Name" id="userName" data-bind="value: successOrFailureSw"/>
<input type="password" placeholder="Password" id="password"/>

<a href="#" data-role="button" id="LoginSubmit" style="width:150px;" class="centeredButton" data-bind="click: changeValue">Sign In</a>
<span data-bind="text: successOrFailureSw"></span>

</div>

.js:

var LoginViewModel = function (commonName, successOrFailureSw) {
var self = this;

self.commonName = ko.observable(commonName);
self.successOrFailureSw = ko.observable(successOrFailureSw);



self.changeValue = function(){
console.log("changed!");
self.successOrFailureSw = "new value!";
}

};

ko.applyBindings(new LoginViewModel("", "super fail"));

我很确定我的映射在 .html b/c 上是正确的,原始值将呈现为 super 失败,如果我更改映射到“successOrFailureSw”的文本框中的值,我会在跨度标签,但我无法在单击登录按钮时更改效果。

我知道我错过了一些如此简单的东西,所以我提前道歉。

谢谢!

布莱恩

最佳答案

您以错误的方式为可观察对象赋值。每个 obserbable 都是一个函数,因此您应该使用 () 调用它,并将您的 changeValue 函数修改为以下内容:

self.changeValue = function(){
console.log("changed!");
self.successOrFailureSw("new value!");
}

关于javascript - Knockout .js 和点击更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16245257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com