在jquery中获取数据绑定值

我正在使用knockout js设置跨度值。

HTML代码

 

这工作正常并在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’