1

我有下面的代码,它将加载一个列表:

<table id ="tblVersion" class="table table-striped table-hover " style="border: none" >
  <thead>
    <tr>
      <th style="display: none">Id</th>
      <th>Version Name</th>
      <th>Version Code </th>
      <th>Module Id</th>
    </tr>
  </thead>
  <tbody data-bind="foreach: versionDataByProduct">
    <tr data-bind="click: $root.EditVersionDetail">
      <td data-bind="text: Id" style="display: none"></td>
      <td data-bind="text: Name"></td>
      <td data-bind="text: Code"></td>
      <td data-bind ="text: $root.editModuleId"></td>
    </tr>
  </tbody>
</table>

这是我单击一行时加载详细信息的代码:

<div  id="EditVersionDetail" style="margin-top: 30px;margin-left: 10px">
  <table data-bind ="with: selecteditem">
    <tr>
      <td><strong>Version Name</strong></td>
      <td><input id="txtVersionName" data-bind ="value:  Name" /></td>
    </tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
      <td><strong>Version Code</strong></td>
      <td><input id="txtVersionCode"  data-bind="value: Code" /></td>
    </tr>
    <tr>
      <td><strong>Module</strong></td>
      <td><select id="selModuleType"  data-bind="options: $root.modules,  optionsCaption: 'Please select Module...' , value: $root.editModuleId , optionsText: 'ModuleName'" /></td>
    </tr>
  </table>
</div>

当我单击一行时,数据会在详细信息部分正确加载。但是如果我在细节部分改变了一些数据,列表中的值也会改变,除了editModuleId. 如果我在选择列表中选择了某个值,则该值不会反映在列表中。这editModuleId有来自不同表的数据,但与可观察数组“versionDataByProduct”有关系。

我应该怎么办?你能给我一个例子,每当有变化时,包括下拉列表在内的细节值都会反映在主控中?

4

0 回答 0