ake*_*eth 8 javascript asp.net knockout.js
我有一个复选框和单击事件,用于更新数据的复选框.当我单击复选框时,数据正在更新,但未选中复选框.
这是我的HTML代码:
<td>
<input type="checkbox" data-bind="checked: status, disable: status, click: $root.UpdateStatus" />
</td>
Run Code Online (Sandbox Code Playgroud)
这是我的脚本:
self.UpdateStatus = function (tblUsers) {
$.ajax({
type: "POST",
url: 'SinglePageApp.aspx/UpdateStatus',
data: "{statusVal: 'true',goalId: " + tblUsers.goalId + "}",
contentType: "application/json; charset=utf-8",
success: function (result) {
alert(result.d);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
};
Run Code Online (Sandbox Code Playgroud)
我希望我的复选框在点击时被检查.然后在点击复选框后放入更新的数据.
Wil*_*lem 24
请参阅:http://knockoutjs.com/documentation/click-binding.html
注3:允许默认单击操作
默认情况下,Knockout将阻止click事件采取任何默认操作.这意味着,如果您在标签(链接)上使用单击绑定,则浏览器将仅调用您的处理程序函数,而不会导航到链接的href.这是一个有用的默认值,因为当您使用点击绑定时,通常是因为您使用链接作为操纵视图模型的UI的一部分,而不是作为到另一个网页的常规超链接.但是,如果您确实希望继续执行默认单击操作,则只需从单击处理函数返回true.
true函数中返回的位置.它必须从实际函数本身返回,而不是从Ajax success或error处理程序返回.
self.UpdateStatus = function (tblUsers) {
$.ajax({
type: "POST",
url: 'SinglePageApp.aspx/UpdateStatus',
data: "{statusVal: 'true',goalId: " + tblUsers.goalId + "}",
contentType: "application/json; charset=utf-8",
success: function (result) {
alert(result.d);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
// Return true to allow default click action.
return true;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6671 次 |
| 最近记录: |