【问题标题】:UniqueID binding in knockout淘汰赛中的 UniqueID 绑定
【发布时间】:2017-05-09 19:15:12
【问题描述】:

我正在尝试弄清楚如何为元素 ID 复制 Unique Name 绑定的功能(以使 pretty validation 正常工作)

ko.bindingHandlers.uniqueID = {
   'init': function (element, valueAccessor) {
        if (valueAccessor()) {
            element.ID = "ko_unique_" + (++ko.bindingHandlers['uniqueName'].currentIndex);
        }
    }
};

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    uniqueName 的淘汰来源是

    ko.bindingHandlers['uniqueName'] = {
        'init': function (element, valueAccessor) {
            if (valueAccessor()) {
                element.name = "ko_unique_" + (++ko.bindingHandlers['uniqueName'].currentIndex);
    
                // Workaround IE 6 issue - http://www.matts411.com/post/setting_the_name_attribute_in_ie_dom/
                if (ko.utils.isIe6)
                    element.mergeAttributes(document.createElement("<input name='" + element.name + "'/>"), false);
            }
        }
    };
    ko.bindingHandlers['uniqueName'].currentIndex = 0;
    

    所以我认为你应该有这个(注意 ID 应该是 id,删除 IE6 的东西,并且 uniqueName 更改为 uniqueId)

    ko.bindingHandlers['uniqueId'] = {
        'init': function (element, valueAccessor) {
            if (valueAccessor()) {
                element.id = "ko_unique_" + (++ko.bindingHandlers['uniqueId'].currentIndex);           
            }
        }
    };
    ko.bindingHandlers['uniqueId'].currentIndex = 0;
    

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2013-10-31
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2019-01-14
      相关资源
      最近更新 更多