2011-04-19 141 views
3

是否有一個庫或框架構建用於從服務器端調用jQuery/Javascript函數?在服務器端訪問jQuery控件?

例如,假設我在頁面上使用了jQuery UI datepicker控件。日期選擇器的格式(例如,MM/dd/yyyy)可以基於每個用戶來配置。在這種情況下,我必須檢索服務器上的用戶首選項,將用戶選擇的格式記錄在隱藏控件中,將HTML頁面發送給客戶端,最後從客戶端的隱藏控件中提取格式。是否有任何圖書館可以促進這種冗長的過程?

+0

什麼服務器? PHP? ASP.NET? Java [+ ...]? – 2011-04-19 18:19:15

+0

您可以在通過服務器端腳本生成的HTML內部編寫內聯JavaScript。 – 2011-04-19 18:20:34

+0

對不起。我在黑暗的一面。微軟ASP.NET 4.0。 – 2011-04-19 18:42:43

回答

0

您需要合併某種服務器端腳本語言,例如MySQL/PHP來拉取用戶的喜好,然後將其綁定到應用程序中並不難。您只需要使存儲「動態「因爲它可以接受各種日期格式,或者轉換爲更加標準化的格式。

直到我知道你正在使用什麼語言,或一些示例代碼,它很難回答。

+0

ASP.NET。我很抱歉。 – 2011-04-19 18:43:08

0

取決於您的網站和頁面的設置方式。但是,如果您將用戶的選定日期選擇器格式存儲在cookie或會話變量中,則可以通過頁面上的字符串屬性(例如DatePickerFormat)公開此值,然後使jQuery datepicker dateFormat變爲如下動態:

$(document).ready(function() { 
    $('#idOfDataPickerControl').datepicker('option', 'dateFormat', '<%=DatePickerFormat%>'); 
}); 
1

我喜歡爲這種事情使用自定義屬性。

<asp:TextBox runat="server" id="myDatePicker" ClientIDMode="Static" 
    format="MM/dd/yyyy" /> 

渲染屬性渲染時根據用戶的設置頁面,然後在客戶端代碼可以只抓它時,它的需要,應用在適當的:

var format = $('#myDatePicker').attr('format'); 

我有時用一個簡單的基礎設施爲了這個目的,JSON + base64可以將對象包含在一個通用的「數據」屬性中,然後在客戶端展開它,以向控件添加更復雜的信息。

在其他情況下,我只需從客戶端使用通過ajax調用的服務來獲取設置,但如果您已經知道頁面呈現時的狀態,則這種方法更加高效。