2013-07-24 2 views

답변

0

예, 당신이 할 수있는! 하나씩 업데이트 할 필요는 없지만 데이터베이스의 데이터로 업데이트하고 모두 업데이트하도록 ObservableObject을 정의 할 수 있습니다.

간단히하기 위해 의 데이터 소스도 각각 DropDownList에 정의 할 것입니다.

var viewModel = kendo.observable({ 
    data : [ 
     [ "text_1_1", "text_1_2", "text_1_3", "text_1_4" ], 
     [ "text_2_1", "text_2_2", "text_2_3", "text_2_4" ], 
     [ "text_3_1", "text_3_2", "text_3_3", "text_3_4" ], 
     [ "text_4_1", "text_4_2", "text_4_3", "text_4_4" ], 
     [ "text_5_1", "text_5_2", "text_5_3", "text_5_4" ], 
     [ "text_6_1", "text_6_2", "text_6_3", "text_6_4" ] 
    ], 
    value: [ 
     "text_1_3", "text_2_2", "text_3_1", "text_4_1", "text_5_2", "text_6_3" 
    ] 
}); 

그리고 나는 모든 DropDownList를 포함하는 HTML 요소에 바인딩 : 내가 가지고하는 것입니다.

kendo.bind($("#dropdown-all"), viewModel); 

HTML은 다음과 같습니다

<div id="dropdown-all"> 
    <select data-role="dropdownlist" data-bind="source: data[0], value: value[0]"></select> 
    <select data-role="dropdownlist" data-bind="source: data[1], value: value[1]"></select> 
    <select data-role="dropdownlist" data-bind="source: data[2], value: value[2]"></select> 
    <select data-role="dropdownlist" data-bind="source: data[3], value: value[3]"></select> 
    <select data-role="dropdownlist" data-bind="source: data[4], value: value[4]"></select> 
    <select data-role="dropdownlist" data-bind="source: data[5], value: value[5]"></select> 
</div> 

지금, 당신이 모든 값을 업데이트 할 경우, 당신이해야 :

viewModel.set("value", [ 
    "text_1_4", "text_2_4", "text_3_4", "text_4_4", "text_5_4", "text_6_4" 
]); 

여기 예제를 실행 : 이해 http://jsfiddle.net/OnaBai/ac5nF/

0

서버 호출에 의해 업데이트되는 동일한 데이터 소스로 모두 바인딩하면됩니다. 하나의 daatasource에서 일어나는 일이 무엇이든간에, 그것은 모든 요소에 영향을 미칩니다.

http://docs.kendoui.com/api/web/dropdownlist#configuration-dataSource

+0

을 하지만 각 DropDownList에는 Controller에서 반환되는 다른 데이터가 있습니까? – Tommassiov

+0

각 dropDown에 대해 서로 다른 데이터 소스가있는 경우 각각의 dataBound 이벤트를 수동으로 관찰해야하며 그 중 하나가 실행되면 다른 dataSources에도 '읽기'만 트리거하면됩니다. – AntouanK

관련 문제