Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js并在单击时更改值_Javascript_Knockout.js - Fatal编程技术网

Javascript js并在单击时更改值

Javascript js并在单击时更改值,javascript,knockout.js,Javascript,Knockout.js,下面是简化的代码。我有另一个构建,我知道它使用的是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"&

下面是简化的代码。我有另一个构建,我知道它使用的是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>
我非常确定我在.html b/c上的映射是正确的,原始值将呈现为超级失败,如果我更改映射到“successOrFailureSw”的文本框中的值,我将在span标记中获得更新的值,但我无法在单击登录按钮时获得效果更改

我知道我错过了这么简单的事情,所以我提前道歉

谢谢


brian

您应该这样设置值:

self.successOrFailureSw('new value!');

successOrFailureSw
不是字符串。这就是为什么您需要以与前面代码中相同的方式设置它。

您应该这样设置值:

self.successOrFailureSw('new value!');
successOrFailureSw
不是字符串。这就是为什么您需要以与前面代码相同的方式设置它。

尝试以下方法: self.successOrFailureSw(“新值!”)

尝试以下方法:
self.successOrFailureSw(“新值!”)

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

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

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

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

+1提到可观测值是函数。同样为了正确:)+1提到可观测值是函数。也是为了正确:)