[英]Get data-bind value in jquery
我正在使用knockout js來設置跨度值。
HTML代碼
<span id="spnQStreamChat" data-bind="text: $data.OnLineUserName"></span>
這工作正常並在UI上顯示用戶名。
我試圖從js文件中獲取該值。 使用下面的代碼
alert($(this).attr('data-bind'));
這是服務結果,如下所示:$ data.OnLineUserName 。 我想要我分配的用戶名。
在UI中顯示Bhagirathi但在js中顯示數據綁定中存在的內容
如何在js文件中獲取Name(意思是:Bhagirathi)
請幫忙解決這個問題
提前致謝
[編輯]
$(document).on("click", ".btn-mini", function (e) {
alert(ko.contextFor($('.btn-mini')[0]).$data.OnLineUserName);
try {
var connectionId = chatHub.server.getUserConnectionId($(this).attr('data-bind').username, sessionUserName);
}
catch (e) {
//error
}
});
[/編輯]
您可以獲取元素的淘汰上下文
ko.contextFor($('#spnQStreamChat').get(0))
這將返回一個像這樣的對象
ko.bindingContext {$parents: Array[1], $root: ViewModel, ko: Object, $data: SomeObject, $parentContext: ko.bindingContext…}
其中$ data是你的$ data對象。 所以要得到你需要的名字
ko.contextFor($('.button.btn.c_btn').get(0)).$data.OnLineUserName()
當您需要獲取$ data對象時,這種方式更有用。 否則你可以使用jQuery獲取span的'text'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.