2014-07-08 36 views
0

我們使用Kendo NumericTextBox小部件向用戶顯示計算值。我們希望顯示的值隨着視圖模型的改變而改變,但我們不希望用戶能夠編輯該值。Readonly NumericTextBox - 禁用顯示隱藏輸入的單擊事件

我們嘗試過: - 禁用小部件。這會根據需要禁用用戶交互,但不允許視圖模型更新值。 - 將小部件設置爲只讀。這允許更新值,並且不允許用戶直接更改值,但是當用戶點擊它時,小部件的外觀會發生變化。

我們正試圖找到一種方法來在這兩個之間有一些東西,其中值可以通過編程方式更改,但不能由用戶更改。並且在用戶點擊小部件時沒有可見的效果。

enter image description here

這可能與一個劍道NumericTextBox?

編輯:問題是對視圖模型的更改通過序列化表單發送回服務器,並且禁用的輸入不會包含在表單序列化中。正如CodingWithSpike所指出的那樣,這不是小部件本身的問題。

回答

0

將頁面呈現給用戶時禁用小部件 - 當它們從其他輸入重新計算時,仍會顯示更新的值。然後在將表單序列化回服務器之前重新啓用小部件。

1

小部件在viewmodel上設置時似乎更新正確,並且該小部件被禁用。

See this example

<input data-role="numerictextbox" 
     data-format="c" 
     data-min="0" 
     data-max="100" 
     data-bind="enabled: isEnabled, 
        value: selectedNumber"> 

<button type="button" data-bind="click: up">Incrament</button> 

... 

<script> 
    var viewModel = kendo.observable({ 
     selectedNumber: 0, 
     isEnabled: false, 
     up: function() { viewModel.set("selectedNumber", viewModel.selectedNumber + 1); } 
    }); 
    kendo.bind($("#example"), viewModel); 
</script> 
+0

哦,謝謝你指出。事實證明,我錯誤地記住了小部件的工作方式。你是對的,現在我發現了一個基於此的解決方法。 –