2013-04-09 73 views
0

我最近一直在測試這個庫,並且注意到當使用JqGridColumnEditable映射模型屬性時,我們可以指定dataUrl參數,以便庫可以獲取選擇輸入的數據(EditType = JqGridColumnEditTypes.Select)。Lib.Web.Mvc:它真的需要buildSelect函數嗎?

我的問題很簡單:我真的必須實現一個buildSelect js函數來實際創建選項嗎?我的意思是,我在EVERYWHERE搜索了一個json模式來返回,所以它可以自動構建它,因爲我不相信它沒有實現。

有誰知道它是否會自動填充選擇輸入接收從dataUrl json?預期的格式是什麼? 如果尚未(可能),您有什麼建議從buildSelect函數訪問選擇輸入以手動填充它?我已經嘗試過'這個',沒有引號,並且不太合適。

回答

0

不幸的是,這個限制是在jqGrid本身內部。您可以檢查文檔here - 它清楚地表明,如果您使用dataUrl服務器必須返回準備使用select元素或您需要使用buildSelect函數。

當您使用buildSelect函數時,您不訪問select元素,您將返回一個。它可能看起來像這樣(此示例假設您的數據是具有密鑰和名稱屬性的對象的集合):

var buildSelectFunction = function(data) { 
    var selectItems = JSON.parse(data.responseText); 
    var selectMarkup = '<select>'; 

    if (selectItems && selectItems.length) { 
     for (var i = 0; i < selectItems.length; i++) { 
      var selectItem = selectItems[i]; 
      selectMarkup += '<option value="' + selectItem.Key + '">' + selectItem.Name + '</option>'; 
     } 
    } 

    return selectMarkup + '</select>'; 
}; 
相關問題