zoukankan      html  css  js  c++  java
  • knockout为绑定元素生成id

    knockout 提供生成了uniqueName的方法,但没有提供生成Id的方法。

    感谢stackoverflow提供的思路与方法。

    下面是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;

    绑定

    <input type="checkbox"  data-bind="uniqueName:true" />

    对于Id

    ko.bindingHandlers['uniqueId'] = {
                    'init': function (element, valueAccessor) {
                        if (valueAccessor()) {
                            element.id = "ko_unique_" + (++ko.bindingHandlers['uniqueId'].currentIndex);
                        }
                    }
                };
    <input type="checkbox"  data-bind="uniqueId:true" />

    对于label的for属性

    ko.bindingHandlers['foruniqueId'] = {
                    'init': function (element, valueAccessor) {
                        if (valueAccessor()) {
                            element.setAttribute('for', "ko_unique_" + (++ko.bindingHandlers['foruniqueId'].currentIndex));
                        }
                    }
                };

    html元素

    <label data-bind="foruniqueId:true" ></label>
  • 相关阅读:
    软件版本具体代表什么意思
    面向接口的编程
    MySQL mysqldump用法
    常见问答解答
    Perl 语言笔记
    JAVA 基础知识
    面向接口编程的基本原则
    判断文件存在与否【Linux】
    Gtk Label设置字体颜色
    解压缩路径设置【Linux】
  • 原文地址:https://www.cnblogs.com/lucika/p/9346529.html
Copyright © 2011-2022 走看看