剔除中的UniqueID绑定 [英] UniqueID binding in knockout

查看:94
本文介绍了剔除中的UniqueID绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试弄清楚如何复制唯一名称的功能绑定元素的ID(以获取

I'm trying to figure out how to duplicate the functionality of the Unique Name binding for an element's ID (to get pretty validation working)

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

推荐答案

uniqueName的删除源是

The knockout source for uniqueName is

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)

So I think you should have this (note ID should be id, IE6 stuff removed, and uniqueName changed to uniqueId)

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

这篇关于剔除中的UniqueID绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆