2012-08-14 85 views
-1

我有以下knockoutjs代碼與3個複選框。與json敲除綁定複選框組

http://jsfiddle.net/gzfff/2/

的這裏的問題是,複選框未正確使用JSON數據綁定。

任何線索?

HTML

<form> 
    <div> 
     <div> 
      <label><input type="checkbox" data-bind="checked: properties" value="1" />Property ABC</label><br/> 
      <label><input type="checkbox" data-bind="checked: properties" value="2" />Property CON</label><br/> 
      <label><input type="checkbox" data-bind="checked: properties" value="3" />Property ZZZ</label> 
     </div> 
    </div> 
</form> 

<hr/> 

<div data-bind="text: ko.toJSON(properties)"></div>​ 

JS

var jsonData= [1,2]; 

var App = function (jsondata) { 
    var self = this; 

    self.properties = ko.observableArray(jsondata); 
}; 
var appViewModel = new App(jsonData); 
ko.applyBindings(appViewModel);​ 

感謝

+1

我什麼都不知道。我無能爲力。說真的,在你關閉和刪除之前,你可以多加一些努力來解決你的問題嗎? – 2012-08-14 19:34:03

+0

另外,小提琴很好,但我們也需要你的問題中的代碼。 – 2012-08-14 19:34:34

+0

當然,讓我把這個。謝謝 – VAAA 2012-08-14 19:35:20

回答

2

更改線路

var jsonData= [1,2]; 

var jsonData= ["1","2"]; 

http://jsfiddle.net/hE92D/

+0

Im使用:var jsonData = @(Html.Raw(Json.Encode(this.Model.IntList))); IntList是一個列表 VAAA 2012-08-14 19:38:27

+0

但是,從小提琴中可以看到,複選框返回字符串,而不是數字。所以你需要在字符串和數字之間進行某種轉換。 – 2012-08-14 19:39:08