我要创建的是一个选择元素,其值由一对单选按钮('父')中的选择确定:
<p>
How many dimensions?
<input type="radio" name="dimension" value="2D" data-bind="checked: dimSelect" />2D
<input type="radio" name="dimension" value="3D" data-bind="checked: dimSelect" />3D
</p>
<p data-bind="text: dimSelect"></p>
<p data-bind="visible: dimSelect">
Which geometry? <select data-bind="options: geometry, optionsCaption: 'Choose'"></select>
</p>
我现在的视图模型是:
<script type="text/javascript">
function viewModel(){
dimSelect = ko.observable();
if (dimSelect() == '2D') {
alert('2D: ' + dimSelect());
geometrie = ko.observableArray(['Circle', 'Quadrant', 'Triangle']);
} else {
alert('3D: ' + dimSelect());
geometrie = ko.observableArray(['Cilinder', 'Cube', 'Widge']);
};
}
ko.applyBindings(new viewModel());
</script>
但由于某种原因,我可以获得在文本活页夹中表示的 dimSelect 值,但不能在我的 viewModel 的 if 语句中。它是未定义的(因此适用 3D)。我可能做错了一些新手的事情,比如整个理论方法,所以请让你的答案尽可能实用/易于理解。
感谢您的时间和耐心!