簡體   English   中英

在jquery中獲取數據綁定值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM