簡體   English   中英

設置標簽客戶端的值

[英]Setting Value of Label Client Side

我有一個彈出文件夾選擇器的網頁。 它允許用戶選擇網站上的文件夾,然后跟蹤其內容的更改。

我需要傳遞彈出窗口中的值,該彈出窗口在JavaScript中返回給我,並將其傳遞給服務器端方法。

由於我正在使用SharePoint,因此無法使用AJAX。

我從JavaScript中的回調中獲取了所需的數據,但是如果我嘗試設置$(control).text(),則這不起作用。

我可以以某種方式設置標簽的值(呈現為跨度)並將其傳遞回onClick嗎?

目前的工作代碼:

$('.tile').on("click", ".LibraryPickerInitiator", function () {
    var hiddenField = $(this).siblings('[type=hidden]');
    var callback = $.proxy(function (s) { this.val(s); }, hiddenField);
    LaunchPickerTreeDialog('CbqPickerSelectListTitle', 'CbqPickerSelectListText', 'websLists', '', '/', '', '', '', '/_layouts/images/smt_icon.gif', '', callback, '', '');
});

標記:

<div id="WebSettings" class="WebSettings" runat="server">
    <div class="LibraryPickerInitiator">Pick a Library</div>
    <asp:HiddenField ID="HiddenField1" runat="server" />
    <asp:Label ID="TreePickerLabel" CssClass="PickerPlaceHolder" runat="server" Text="No List Selected"></asp:Label>
    <asp:Button ID="SubmitList" runat="server" Text="Get List Data" onclick="SubmitList_Click" />
</div>

事件:

protected void SubmitList_Click(object sender, EventArgs e)
{
    string pickerData = HiddenField1.Value;
}

我認為沒有理由你不能,我會在創建回調時使用$.proxy以確保適當的范圍:

var callback = $.proxy(function (s) {
    this.html(s); 
}, sisterLabel);

如果向標記添加隱藏輸入,則可以更改客戶端代碼,如下所示:

var sibs = $(this).siblings();

var callback = $.proxy(function (s) {
    this.label.html(s); // set label text
    this.hidden.val(s); // set hidden field val
}, { label: sibs.filter('span'), hidden: sibs.filter(':input:hidden') });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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