Knockout JS“uniqueName”绑定 - 两个字段同名

2023-12-13

我正在使用 Knockout JS 创建一个编辑器。我正在使用 foreach 属性循环模型中的列表。

 <tbody data-bind='foreach: Properties'>

我正在使用 JQuery 不显眼的验证,它需要一个 name 属性来验证。我想为两个字段分配相同的名称,以便能够输出验证消息。是否可以在两个字段上使用相同的 uniqueName 属性?

 <tr>
     <td>
         <input data-bind='value: type, uniqueName: true' data-val = "true", data-val-required = "The Type field is required"  /></td>
     </td>
 </tr>
 <tr>
     <td class="field-validation-valid" data-valmsg-for="UNIQUENAME" data-valmsg-replace="true"></td>
 </tr>

我复制了下面的示例,其中显示了网格编辑和 JQuery 不显眼的验证。但我无法弄清楚如何将验证消息与输入字段链接起来

http://knockoutjs.com/examples/gridEditor.html

Edit:

我使用 ASP.NET MVC3 和 Razor 语法作为循环输入。

 @Html.DropDownList("Type", new SelectList(types, "Value", "Text"), "Select", new { data_bind = "value: Type", data_val = "true", data_val_required = "The Type field is required" })

我不知道如何更新 name 属性。当我使用淘汰赛添加属性时,它们都具有相同的名称“Type“并且验证不起作用。它们需要以 Type1 Type2 等方式进行索引。


uniqueName 绑定仅增加索引并设置名称(修复了 IE)。

看起来像:

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

            // Workaround IE 6/7 issue
            // - https://github.com/SteveSanderson/knockout/issues/197
            // - http://www.matts411.com/post/setting_the_name_attribute_in_ie_dom/
            if (ko.utils.isIe6 || ko.utils.isIe7)
                element.mergeAttributes(document.createElement("<input name='" + element.name + "'/>"), false);
        }
    }
};

因此,您可以创建一个使用最后一个索引并设置适当属性的自定义绑定

ko.bindingHandlers.valmsg = {
    init: function(element) {
        element.setAttribute("data-valmsg-for", "ko_unique_" + ko.bindingHandlers.uniqueName.currentIndex);
    }
};

现在,您只需使用它即可:

<tr>
    <td>
         <input data-bind='value: type, uniqueName: true' data-val="true", data-val-required="The Type field is required"  />
    </td>
</tr>
<tr>
     <td class="field-validation-valid" data-bind="valmsg: true" data-valmsg-replace="true"></td>
</tr>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Knockout JS“uniqueName”绑定 - 两个字段同名 的相关文章

  • Twitter bootstrap 3 Modal 带淘汰赛

    我正在尝试将 twitter bootstrap 模式与淘汰赛完全绑定 通过完全绑定 我的意思是我希望与模式对话框的每一次密切交互都能与淘汰赛一起使用 我见过一些问题 https stackoverflow com q 18370489 1
  • Knockout 无法处理绑定

    当文本未定义时如何绑定文本 例如名称不可用 table class table thead tr th class col md 4 ID th th class col md 4 Name th tr thead tbody tr td
  • 在 Android/Cordova/Knockout 中捕获带有数字输入的“Enter”按键

    我正在使用 Cordova PhoneGap 2 5 0 Knockout 2 1 0 和 jQuery Mobile 1 3 0 创建 Android 应用程序 I have created an input with type numb
  • 使用 Knockout-Kendo.js 动态启用/禁用 kendo 日期选择器

    我正在尝试使用 Knockout Kendo js 根据选择的选定值启用 禁用 kendo 日期选择器 HTML
  • 单击鼠标更改 Knockout.js 中的 css 类

    Knockout js 文档显示了这样的 css 绑定 div Profit Information div 我需要对其进行调整以更改鼠标单击时的 css 类 我怎样才能做到这一点 根据下面的答案 我正在使用这样的代码 CSS class
  • KnockoutJS JQuery 组合框绑定

    我想为淘汰赛制作一个绑定 它使用JQuery 自动完成组合框 http jqueryui com demos autocomplete combobox并允许 2 路绑定 http jsfiddle net rniemeyer PPsRC
  • Kendo-Knockout:如何使窗口居中

    我正在使用 RPNiemeyer 的剑道淘汰库 我有一个剑道窗口 我在 html 中使用它 div div 我曾经这样将对话框居中 productionStates data kendoWindow center But as center
  • 未捕获的语法错误:实时但不在本地服务器上出现意外的令牌 B

    所以我正在制作一些ajax帖子 它似乎在本地主机上工作正常 但是当我将其发布到亚马逊上的ec2服务器时 我得到 Uncaught SyntaxError Unexpected token B 这似乎表明 JSON 解析失败 完全相同的数据库
  • ko.utils.arrayFirst 在不处理非空字符串的 else 块时始终返回 null

    这可以正确工作 self getById function id return ko utils arrayFirst self PostArray function item if item postId id return item e
  • jquery .html() 追加后绑定不起作用

    我有这个简单的 div div div 它是空的 现在我正在尝试附加这个HTML到上面的div div div
  • knockoutjs 中的滑动动作绑定

    我在我的应用程序中使用淘汰赛作为主要框架 它必须支持平板电脑和移动设备 由于框架是基于绑定处理程序构建的 我想知道如何实现对操作 如滑动和其他特定于设备的操作 的自定义绑定 或者也许有类似的事情完成 可能为时已晚 但这里有一个库 将触摸绑定
  • 淘汰赛js和全球化

    我不知道如何使用淘汰赛 js 和非美国语言环境来处理计算 我的逗号是 并且使用 jquery globalization 插件正确验证 但淘汰计算给我一个 NaN knockout js 是否以任何方式支持这一点 或者是否存在任何解决方法
  • KnockoutJS:在 Select 中的每个选项上调用单击事件

    我希望每当用户单击 SELECT 元素中的选项时 Knockout 都会调用一个事件 这是我的 JavaScript function ReservationsViewModel this availableMeals mealName S
  • 使用 knockout.js 防止双击按钮

    禁用按钮以便 Knockout js 不会发生双击的最佳方法是什么 我有一些用户快速点击导致多个 ajax 请求 我认为 knockout js 可以通过多种方式处理这个问题 并希望看到一些替代方案 使用信号量 旋转锁 基本上 您计算一个元
  • 敲除验证

    我有一个 asp net mvc3 项目 我在其中使用淘汰赛绑定对表进行批量编辑 我想在保存数据时进行必需验证和数字验证等验证 有没有更简单的方法来进行淘汰验证 PS 我没有使用表格 看一下敲除验证 https github com eri
  • 使用 Knockout 验证插件时 Knockout ViewModel isValid 错误

    我是使用淘汰赛的新手 我正在尝试将淘汰赛验证插件与映射插件一起使用 我在视图模型对象上的 isValid 函数上遇到问题 根据文档 isValid 应该返回一个 bool 来确定视图模型上的任何可观察量是否有效 但是当我调用它时 我收到一条
  • 如何在服务器中处理用于发布目的的日期

    我从 ASP NET MVC 获得了这个值 Date 1446393600000 它在 SQL 数据库中的值是 2015 11 02 这是一个date 仅限日期 并将其作为 javascript 对象进行操作 我使用moment js ht
  • 强制使用原生 Knockout 模板

    我有一个需要 jQuery tmpl 的页面 但我想使用本机淘汰模板 data bind foreach Comments 属性 因为我已经包含了 jQuery tmpl 所以淘汰赛的本机模板被禁用 有没有办法可以强制使用本机功能 Than
  • 如何将 HTML 表格导出到 Chrome 和 IE 支持的 Excel?

    在我的 MVC 项目中 我有一个与 Knockout 绑定的 HTML 表 我正在尝试将表格导出到 Excel 我在客户端尝试使用 JavaScript self exportToExcel function javascript wind
  • 数组的淘汰赛数组

    传入的数据是这样的 1 2 3 4 5 6 有时是这样的 1 2 4 5 这是 HTML

随机推荐

  • Grails + GORM:GORM 中默认的 equals() 实现是什么?

    当我做domainObj1 domainObj2Grails 中的对象是按 ID 进行比较的吗 如果不是 它们如何比较 首先 您需要了解 GORM Grails 并没有做任何特别的事情equals 除非你自己实现equals 在您的域类上
  • 摇动动画(3d版)

    我想在错误上使用此动画 如图所示here 如何在wpf中实现这一点 我感觉这应该是多个转换的组合 组合 但是具体是哪些转换以及如何转换 这是一个初学者 mcve或称之为 我的尝试 它很丑陋 甚至与我想要的不接近
  • 将操作添加到操作栏面板

    我想向操作栏添加一个操作 但它在我的操作栏中显示为下拉列表 如何向操作栏添加按钮 我的代码是 menu menu
  • 为什么Python中的像素值会自动变化?

    我正在 VideoCapture 的帮助下从视频中提取帧 提取第一帧 借助 PIL 将帧转换为图像 打印位置 1 1 处的前一个像素值 打印新创建图像的位置 1 1 处的像素值 谁能解释为什么 提取帧的函数 import cv2 from
  • 使用 Dapper,如何将 sql 类型的值作为参数传递?

    我正在尝试使用 dapper 并将我在此处使用 DDL 定义的整数列表传递给存储过程 CREATE TYPE dbo BrandIDSet AS TABLE BrandID INT NULL 我创建了这个存储过程 CREATE PROCED
  • 如何使用 jQuery 从多个事件触发相同的函数?

    有没有办法拥有keyup keypress blur and change事件在一行中调用相同的函数 还是我必须单独执行它们 我遇到的问题是 我需要通过数据库查找来验证一些数据 并希望确保在任何情况下都不会错过验证 无论是键入还是粘贴到框中
  • 在 Python 中使用 SHA256withRSA 数字签名验证失败

    我正在尝试使用离线 aadhaar KYC 验证应用程序的给定证书文件来验证数字签名 该说明在验证文档中给出 读取整个 XML 并将 s xxxx 标记从中分离出来 使用基于 SHA256withRSA 的哈希和加密技术的签名验证算法 s
  • 将二进制文件添加到 Visual Studio 中的资源

    请这听起来可能是新手 但我就是无法让它工作 因为 在 Visual Studio 2012 中将文件 例如 file exe 添加到资源中的步骤是什么 以便我可以使用以下命令找到资源FindResource hInstance MAKEIN
  • 如何在 Json 控制器中渲染部分视图

    如何渲染要在控制器中的 JsonResult 中使用的部分视图 return Json new Html this RenderPartialView EditMovie updatedMovie Message message JsonR
  • 与 glfw3 链接时发生错误[重复]

    这个问题在这里已经有答案了 我最近一直在尝试编译C 代码并且不依赖IDE 我决定使用编辑器和命令行来编写和编译代码 问题是我想制作一个 glfw 应用程序 但是当我链接 glfw3 lib 和 opengl32 lib 时出现错误 a ex
  • 他们添加的 git 重命名冲突 - git 将重命名目录中的相同文件识别为新文件

    我已经重命名了一个目录并将其合并到我的主分支中 当合并另一个分支时 git 将重命名的目录中的相同文件识别为新文件 当合并到另一个分支时 我得到该目录中相同文件 由他们添加 的合并冲突 added by them theirDir same
  • 如何在每个测试的基础上更改模拟实现?

    我想通过扩展默认模拟的行为并在下一个测试执行时将其恢复到原始实现来更改每个测试基础上模拟依赖项的实现 更简单地说 这就是我想要实现的目标 模拟依赖 在单个测试中更改 扩展模拟实现 执行下一个测试时恢复到原始模拟 我目前正在使用 Jest v
  • 从源安装 R 包,无需更改 PATH (Windows)

    我正在尝试安装包rpart对于 Windows 7 上的 R 2 14 0 但我收到警告 包 rpart 不可用 对于 R 版本 2 14 0 所以我从包页面下载 tar gz 文件 我已经安装了 Rtools 但禁用了所有选项 包括更改
  • 什么是最好/非常好的元数据阅读器库?

    现在 我对从 MP3 文件 ID3 标签 读取数据特别感兴趣 但它能做的越多 例如图像中的 EXIF 就越好 而且不会影响 ID3 标签的读取能力 我有兴趣制作一个脚本来遍历我的媒体 现在是我的音乐文件 并确保文件名和目录路径与文件的元数据
  • F# 中什么是柯里化? [复制]

    这个问题已经存在了 可能的重复 函数式编程 柯里化 我正在这里阅读免费的 F Wikibook http en wikibooks org wiki F Sharp Programming 有一节解释了什么是偏函数 它说使用 F 你可以部分
  • Javascript 键码冲突:“右箭头”和“单引号”

    以下脚本执行其应该执行的操作 即它对 向左箭头 和 向右箭头 键做出反应 但是 由于键码冲突 它也会对单引号做出反应 它使得无法将该字符输入到输入字段中 对此可以采取什么措施吗
  • 使用Spring Batch在不同的数据源中写入

    对于一个项目 我需要处理一个表中的项目 并为 3 个不同的表生成 3 个不同的项目 所有 3 个项目都位于与第一个项目不同的第二个数据源中 该实施是通过 Oracle DB 使用 Spring Batch 完成的 我认为这question有
  • 矩阵和数组有什么区别?

    更广义的术语是什么 那么为什么 MATLAB 被命名为矩阵实验室呢 矩阵是表示维度空间线性变换的实用方法n到一个维度空间m以一个形式nxm标量值数组 以非常系统的方式进行线性代数运算也非常实用 可以在计算机上实现 例如如果矩阵A表示线性变换
  • 如何检测对 HTML5“下载”属性的支持?

    HTML5 中实现的新功能之一是download锚标记的属性 此属性的好处是 它为用户提供了下载在客户端应用程序中创建的内容的方法 例如图像 例如从画布转换而来 目前 对此功能的支持很差 所以我想知道如何检测浏览器中对此功能的支持 Use
  • Knockout JS“uniqueName”绑定 - 两个字段同名

    我正在使用 Knockout JS 创建一个编辑器 我正在使用 foreach 属性循环模型中的列表 tbody 我正在使用 JQuery 不显眼的验证 它需要一个 name 属性来验证 我想为两个字段分配相同的名称 以便能够输出验证消息