2014-09-05 154 views
1

我在設置組合框的值時遇到了很多麻煩。問題是我有多個組合框,每個組合框都依賴於組合框中前一個選定的值。所有的值都存儲在數據庫中。當我運行ajax請求來獲取值並設置組合框值時,每當我刷新頁面時,組合框上的文本都是不正確的。每次我加載頁面時,即使沒有改變任何內容,組合框上也會顯示不同的文本。這是否與我設置值的方式有關?還是應該有一個特定的順序考慮每個依賴於以前的價值?有人可以幫助嗎?Kendo Combobox - 設置多個ComboBox值都來自數據庫

E.g. 體育(從第1組合框中選擇), 足球(從第二個組合框中選擇), 貝克漢姆(從第3組合框中選擇)

一旦所有這些數據都被選擇並保存到數據庫中。在文檔準備就緒後,我調用ajax請求來獲取此數據並設置組合框值,但是,保存的值不會顯示,並顯示與數據源不同的值或根本不顯示任何值。每次頁面加載時,都會顯示其他內容,即使正確的值來自數據庫。

回答

2

要有三個相關的組合框,最好使用kendo組合框的「cascadeFrom」屬性。 一個簡單的例子:

<div> 
    <input id="category" /> 
    <input id="sports" /> 
    <input id="player" /> 
</div> 

<script> 
    $("#category").kendoComboBox({ 
    dataTextField: "categoryName", 
    dataValueField: "categoryId", 
    dataSource: [ 
     { categoryName: "Sports", categoryId: 1 }, 
     { categoryName: "Music", categoryId: 2 } 
    ] 
    }); 

    $("#sports").kendoComboBox({ 
    cascadeFrom: "category", 
    dataTextField: "sportsName", 
    dataValueField: "sportsId", 
    dataSource: [ 
     { sportsName: "Football", sportsId: 1, categoryId: 1 }, 
     { sportsName: "Cricket", sportsId: 2, categoryId: 1 }, 
     { sportsName: "Pop", sportsId: 3, categoryId: 2 }, 
     { sportsName: "Rock", sportsId: 4, categoryId: 2 } 
    ] 
    }); 

    $("#player").kendoComboBox({ 
    cascadeFrom: "sports", 
    dataTextField: "playerName", 
    dataValueField: "playerId", 
    dataSource: [ 
     { playerName: "David Beckham", playerId: 1, sportsId: 1 }, 
     { playerName: "Leonel Messi", playerId: 2, sportsId: 1 }, 
     { playerName: "Xavi", playerId: 3, sportsId: 1 }, 
     { playerName: "Raina", playerId: 4, sportsId: 2 }, 
     { playerName: "Gambhir", playerId: 4, sportsId: 2 }, 
     { playerName: "YXZ", playerId: 4, sportsId: 3 }, 
     { playerName: "ABC", playerId: 4, sportsId: 3 } 
    ] 
    }); 

    // To set value in combo-box 
    $("#category").data('kendoComboBox').value(1); 
    $("#sports").data('kendoComboBox').value(1); 
    $("#player").data('kendoComboBox').value(2); 

</script> 

在這裏,我已經硬編碼在組合框中設置的值。你可以從數據庫中提取數據並在這裏設置。 它很好的保存組合框的值字段並使用它來顯示數據。

希望這會有所幫助。

Reference Link