私は 2 つの値を含むモデルにバインドされた単純な選択コントロールを持っています: id - 選択したインデックスにバインドしたい値と、ooptions を入力したい都市 = 配列。ここにJSがあります:
var VM=function ViewModel() {
self=this;
this.id = ko.observable(102);
this.cities=ko.observableArray([]);
this.getCities=function(){
self.cities( [{"Key":"-1","Value":"choose city"},{"Key":"100","Value":"leningrad"}, {"Key":"102","Value":"moscow"}]);
} ;
}
var vm=new VM();
ko.applyBindings(vm);
ユーザーがボタンをクリックした後に都市を設定したいのですが、選択した都市はモスクワのままでなければなりません (最初は「id」が 102 だったため)
ここに私のHTMLがあります:
<!DOCTYPE html>
<html>
<head>
<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<select data-bind="options:cities,optionsText:'Value',optionsValue:'Key',value:id"></select>
<button data-bind="click:getCities">get cities</button>
</body>
</html>
私の問題は、都市がロードされた後に選択したインデックスが失われたことです 助けてください ありがとう