【问题标题】:knockout select change and json淘汰赛选择更改和json
【发布时间】:2013-04-17 17:39:23
【问题描述】:

我的json数据是

{"person":
        [
        {"Name":"Name1",
        "City":"1",
        "PostCode":1234
        },
        {"Name":"Name2",
        "City":"2",
        "PostCode":12
        }]
}

我的用户界面是,

<tbody id="container" data-bind="foreach: person">

                        <tr>
                            <td>
                                <input id="Name" style="width: 100px" type="text" data-bind="value:Name" class="dynamic" />
                            </td>
                            <td>
                                <select id="City" style="width: 100px" data-bind="value: City" class="dynamic" >                            
                                    <option value="0">NY</option>
                                    <option value="1">NJ</option>
                                    <option value="2">CA</option>                                 
                                </select>
                            </td>
                            <td>
                                <input id="PostCode" disabled="disabled" style="width: 100px" type="text" data-bind="value: PostCode, enable: City() == '0' || City() == '1'"" class="dynamic"/>
                            </td>

<select id="City" style="width: 100px" data-bind="value: County" class="dynamic" >                            
                                <option value="0">Test0</option>
                                <option value="1">Test1</option>
                                <option value="2">Test2</option>                                 
                            </select>
                               </td>
                        </tr>
                    </tbody>

我的 viewModel 是,

  <script type="text/javascript">
  var jsonData = {};
    $.getJSON("test.json", function (data) {
        jsonData = ko.mapping.fromJS(data);       
        ko.applyBindings(jsonData);
    }
);
</script>

我需要做的是,当我更改下拉文本时,我必须根据所选城市更改我的县下拉列表。 我的下拉文本不是来自我的 json。我尝试使用“订阅”选项。谁能帮帮我?

【问题讨论】:

  • 要在所选选项的哪个值上启用文本框?
  • 值 =“1”和值 =“2”。 (以上为示例代码)

标签: knockout.js


【解决方案1】:

您可以在邮政编码文本框上使用 enable 绑定,例如:

<td>
     <input id="PostCode" disabled="disabled" style="width: 100px" type="text" 
      data-bind="
          value: PostCode, 
          enable: City() == '1' || City() == '2'" 
     class="dynamic"/>
</td>

【讨论】:

  • 您好,非常感谢您。但它没有任何改变。我从前几天开始学习淘汰赛。我被这个困住了。
  • 我需要做的是,当我更改我的下拉文本时,我必须根据所选城市更改我的县下拉列表。我的下拉文本不是来自我的 json。我尝试使用“订阅”选项。有人可以帮我吗?
猜你喜欢
  • 1970-01-01
  • 2012-06-06
  • 2016-06-23
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 2014-04-01
相关资源
最近更新 更多