KnockoutJS

可紊 提交于 2019-11-26 11:32:45

1. 在Table中添加一条新的item,并绑定数据时,按钮的绑定事件应该这样写:

HTML:

<table id="tblCountryList" border="1" class="tableStyle">
            <thead>
                <tr>
                    <th>Country</th>
                    <th>State</th>
                </tr>
            </thead>
            <!-- Iterating through every list item using foreach of KO -->
            <tbody data-bind="foreach: Countries">
                <tr>
                    <td><input data-bind="value: CountryName" /></td>
                    <td><input data-bind="value: StateName" /></td>
                </tr>
            </tbody>
        </table>
        <br />
        <button data-bind="click: AddCountries.bind($data,'', '', true)">Add State</button>

JS:

  $(document).ready(function(){
        var completeCountryList = new CountryListViewModel();
         var cityArray = [["Beijing", "China"],["New York","US"],["Tokyo","Japan"]];
         $.each(cityArray, function(index, item){
             completeCountryList.AddCountries(item[0], item[1], false);
         });
        
        ko.applyBindings(completeCountryList);
    });
    //class for saving the countries and their states
    function CountryList(countryName, stateName, isUpdated) {
        var self = this;
        self.CountryName = countryName;
        self.StateName = stateName;
        //IsUpdated is just to keep tab of rows that are added/removed from the table. This is not a SP column
        self.IsUpdated = isUpdated;
    }
     
    //View Model to combine data from list into the format which view expects
    function CountryListViewModel() {
        var self = this;
        self.Countries = ko.observableArray([]);
        self.AddCountries = function (countryName, stateName, isUpdated) {
            self.Countries.push(new CountryList(countryName, stateName, isUpdated));
            //hide success message
            $("#success").hide();
        }
  }

2. 

转载于:https://www.cnblogs.com/qijiage/p/4595579.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!