jqgrid添加后如何清除添加表单中的自动完成框内容

2024-04-07

jqGrid 添加表单包含使用以下代码的自动完成框。 如果新行添加到 jqgrid,自动完成字段不会被清除,仍然显示添加的行内容。 简单的文本框列已正确清除。 如何清除自动完成框?

var grid = $("#grid");
grid.jqGrid({
    url: 'GetData',
    datatype: "json",
    mtype: 'POST',
    scroll: 1,
    multiselect: true,
    multiboxonly: true,
    scrollingRows : true,
    autoencode: true,
    prmNames:  {id:"_rowid", oper: "_oper" }, 
    colModel: [{"label":"Artikkel","name":"Toode","edittype":"custom","editoptions":{"custom_element":function(value, options) {
return combobox_element(value, options,'54','Toode','RidG','ArtikkelDokumendiReal')}
,"custom_value":combobox_value
},"editable":true},
],
    gridview: true,
    toppager: true,
    editurl: 'Edit',
    rownumbers: true,
});

grid.navGrid("#grid_toppager", { refreshstate: 'current' },
    {},
    { url: 'AddDetail',
    editData: { _dokdata: FormData },
    savekey: [true, 13],
    recreateForm: true,
    closeOnEscape: true,
    // todo: this does not clear autocomplete boxes:
    clearAfterAdd: true,
    addedrow: 'last',
    reloadAfterSubmit: false,
    afterSubmit: function (response) { return [true, '', response.responseText] },
});

function combobox_element(value, options, width, colName, entity, andmetp) {
    var elemStr;
    if (options.id === options.name)
    // form 
        elemStr = '<div>' +
           '<input class="FormElement ui-widget-content ui-corner-all" style="vertical-align:top" size="' +
                options.size + '" value="' + value + '"/>' +
           '<button ' +
           ' style="height:21px;width:21px;" tabindex="-1" /></div>';
    else
        elemStr = '<div>' +
           '<input class="FormElement ui-widget-content " style="height:17px;vertical-align:top;width:' +
                width + 'px" value="' + value + '"/>' +
           '<button ' +
           ' style="height:21px;width:21px;" tabindex="-1" /></div>';
    var newel = $(elemStr)[0];
    setTimeout(function () {
        input_autocomplete(newel, colName, entity, andmetp, validate);
    }, 50);
    return newel;
}

function input_autocomplete(newel, colName, entity, andmetp, fvalidate) {
    var input = $("input", newel);
    input.autocomplete({
        source: 'Grid/GetLookupList'
    });
}

function combobox_value(elem, operation, value) {
    if (operation === 'get') {
        return $(elem).find("input").val();
    } else if (operation === 'set') {
        $('input', elem).val(value);
    }
}

在我看来,问题的存在是因为你使用自定义编辑控件 http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3acommon_rules#custom (edittype:"custom", custom_element and custom_value. The <input>您创建的元素目前没有 id。您应该遵循 jqGrid id 转换并创建<input>元素具有id等于options.id:

function combobox_element(value, options, width, colName, entity, andmetp) {
    var elemStr, newel;
    if (options.id === options.name) {
        // form 
        elemStr = '<div>' +
           '<input class="FormElement ui-widget-content ui-corner-all"'+
           ' style="vertical-align:top"' +
           ' id="' + options.id + '"' +
           ' size="' + options.size + '" value="' + value + '"/>' +
           '<button style="height:21px;width:21px;" tabindex="-1" /></div>';
    } else {
        elemStr = '<div>' +
           '<input class="FormElement ui-widget-content "' +
           ' style="height:17px;vertical-align:top;width:' +
           width + 'px"'+
           ' id="' + options.id + '_x"' +
           ' value="' + value + '"/>' +
           '<button ' +
           ' style="height:21px;width:21px;" tabindex="-1" /></div>';
    }
    newel = $(elemStr)[0];
    setTimeout(function () {
        input_autocomplete(newel, colName, entity, andmetp, validate);
    }, 50);
    return newel;
}

UPDATED:我更正了上面的代码的用法options.id as the id of the <input>到值options.id + "_x"。问题在于options.id稍后将由 jqGrid 分配给<div>元素将表示为newel。 jQuery UI 自动完成要求<input>它将连接到的元素有一个唯一的 id,因此我们可以选择任何其他 id 作为options.id没有 id 重复项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jqgrid添加后如何清除添加表单中的自动完成框内容 的相关文章

  • 更新jqGrid中的数据

    我在这种情况下使用 jqGrid 网格从第一个 URL 获取 JSON 数据 如果 URL 返回正确的 JSON 网格会显示该数据 如果 URL 返回不正确的数据 则会触发 grid 的 loadError 事件 在这种情况下 我想将网格的
  • 检测 jQuery UI 自动完成

    如何检测输入框当前是否为 jQuery UI 自动完成功能 似乎没有一个本机方法 但我希望有像这样的简单方法 if q autocomplete Do something 然而 这个条件似乎总是返回 true if q hasClass a
  • Jquery UI 滑块 - 输入值并将滑块移动到位置

    我想知道是否有人找到了实际填充滑块的输入框并使其滑动到适当位置 onBlur 的解决方案或示例 目前 众所周知 它只是用您所在的位置更新此值在 因此 在某些方面 我试图扭转这个令人惊叹的滑块的功能 我找到的一个链接 http www web
  • 如何将数据动态分配给jqGrid?

    这是我创建 jqGrid 的代码 ptDataGrid jqGrid datatype local data arrSpecData colModel colmod rowNum 10 rowList 10 pager ptPager gr
  • 将表中的行相对于另一个表拖放[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 嘿 我有两个行数相同的表 例如 如果我尝试对 tableOne 中的一行 例如 row 3 进行排序 则其他表 tabl
  • jQuery UI MultiSelect Widget 选择保留在 IE 中,但不保留在 Chrome 中

    我正在使用jQuery 多选小部件 http www erichynds com examples jquery ui multiselect widget demos basic 使用 IE 时 如果我从基本下拉列表中选择 3 个选项 浏
  • jQuery-UI 的自动完成显示效果不佳,z-index 问题

    我目前正在我的客户网上商店中实现 jQuery UI 的自动完成功能 问题是 自动完成所在的元素的 z 索引高于自动完成的 z 索引 我尝试手动设置自动完成 z index 但我感觉 jQuery UI 正在覆盖它 事实上我的问题是重复的自
  • 在 jqgrid 的 0 行上,我们如何将 NaN 的第 1 页替换为其他内容?

    如果 jqgrid 在某个时间没有行 它会显示Page 1 of NaN什么是Nan这里 我们不能把它改成更合适的东西吗Page 0 of 0或者更好的东西 我的 jqgrid 代码 var grid jQuery list1 grid j
  • Jquery UI:日期选择器。如何通过 $_GET 在日期选择器中设置日期

    我找不到如何设置 GET 变量来手动设置日期选择器中的日期 http jqueryui com demos datepicker http jqueryui com demos datepicker 例子 那可能吗 Thanks 在此使用
  • 在提交调试之前显示表单值

    如何在表单提交之前将所有表单值转储到警报框中 我有一个像这样的简单表单 我想在提交时在警报或控制台中查看表单值 我正在使用 jQuery 和 jQueryUI DIALOG 作为表单 但任何方法都可以 div title Some More
  • jQuery clone() 复制数据...有时...?

    使用下面的示例 我有一个tr我正在复制 它包含一个 jQueryautocomplete 第一次克隆时 自动完成功能不起作用 因为附加的data items 一片空白 第二次单击 添加 按钮时 自动完成功能将起作用 此后 再次单击 添加 会
  • 如果列表在初始化之前为空,则 jQuery 可排序无法与水平列表正常工作

    如果我在初始化后将元素添加到列表中 sortable它无法正常工作 参见示例jsFiddle http jsfiddle net NQMPr 1 示例 HTML div class container div br
  • 为什么使用 gridview:true 以及它的含义是什么?

    我正在 JqGrid 上工作 我想知道如果我们指定的话意味着什么gridview true 以及什么情况下我们需要提供 我最近正在开发一个这样的 jqGrid 和我的afterInsertRow没有被调用 一旦我删除了gridview tr
  • 使用 jQuery live() 初始化插件?

    使用 jQuery 在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么 例如 假设我想要全部
  • 测试 jQuery UI 工具提示是否打开

    我正在尝试控制自动打开和关闭jQuery 工具提示 http api jqueryui com tooltip 如何测试工具提示的当前状态是否为打开 我正在使用所有内容的最新版本 Thanks 您可以尝试检查是否有任何课程ui toolti
  • jQuery UI 可排序和对话

    是否可以在两个列表之间拖动 jQuery UI 可排序列表项 其中一个在 jQuery UI 对话框中 另一个不在 jQuery UI 对话框中 我正在尝试创建一个对话框 用户可以将表单字段从对话框中拖到页面上的表单中 但我无法将项目拖出对
  • jQuery UI Datepicker 奇怪的行为

    我在使用 jqueryUI 使用简单的日期选择器时遇到了一个奇怪的问题 我只想显示两个月的日历 包括上个月和当前月份 我使用了这段代码 function picker datepicker numberOfMonths 2 showCurr
  • Jquery Draggable 使输入文本字段不可编辑(吞噬 onfocus?)

    我编写了代码 如下 以便能够将输入字段拖动到另一个输入字段上 但似乎可拖动的吞咽input text onfocus 这会导致问题 所有可拖动的输入字段都被禁用 firefox 并且单击鼠标不会将它们聚焦 如果我使用 TAB 键关注输入字段
  • 创建后将事件处理程序添加到 jQuery UI 日期选择器

    我有以下场景 在我的母版页中我有 datepicker datepicker changeYear true changeMonth true dateFormat dd mm yy duration fast 这样 我分配 datepic
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt

随机推荐

  • 如何更新 JRuby 的 gem 命令?

    我们如何更新 JRuby 使用的 gem 版本 JRuby 使用 gem 1 5 1 我们希望将其升级到 1 8 7 我们希望将 gems 安装在 Ruby gems 中 We run bin jruby gem install rubyg
  • NuGet:远程服务器返回错误(403)禁止

    每当我尝试安装软件包时 我都会收到此错误 remote server returned an Error 403 Forbidden 我可以使用其他命令 例如 get package ListAvailable 并发现已安装的软件包是否有任
  • 在部署之前使用 local :path 检查 gems

    对于某些 Rails 应用程序 我希望在部署时有一个安全防护措施 以检查是否有一些 gem 配置为在本地路径中查找 一些上下文可能有助于理解 当我处于开发模式时 我希望在 本地模式 下有一个 gem 在我的Gemfile它的配置如下 gem
  • Node fs 复制文件夹

    我正在尝试使用 Node 复制文件夹fs模块 我熟悉readFileSync and writeFileSync 方法 但我想知道应该使用什么方法来复制指定的文件夹 您可以使用fs extra https www npmjs com pac
  • 无法读取文本框值

    我在 AjaxFileUpload1 的 pageupload 事件期间将页面上的文本框的值分配给变量 问题是 即使没有错误抛出 我也没有从文本框获取值到我的变量 我的变量是 string scn txtSCN Text string li
  • CodeIgniter 验证变量/输入不是来自表单?

    假设我有用户生成的数据 这些数据不是通过表单发布的 有没有办法可以使用 扩展 CodeIgnitors form validation 类来验证该数据 eg 是的 您可以通过set data
  • 将一个整数平均分为 X 部分

    我正在 PHP 中寻找一种有效的方法来将数字等分 数字始终是整数 没有浮点数 假设我有一个数组 hours 其值从 1 到 24 hours 1 等 和一个包含整数的变量 int 我想要实现的是将 int 的值平均分为 24 个部分 这样我
  • 标签中的 Ember 车把模板

    ember 特别是应用程序模板 是否可以在 head 标签内进行操作 以便动态更改标题标签 元标签 外部 css 样式表和 favicon 等内容 如果是这样 那么一种干净的方法是什么 为了完成这项工作 我所做的是创建车把助手 例如 如果您
  • 保存用户个人资料详细信息 Android 应用程序的最佳方式

    我正在创建一个有多个用户的应用程序 我创建了一个对象 用户 其中包含更多详细信息 姓名 年龄 自定义对象等 因为我有一个自定义对象 所以我知道使用共享首选项会很困难 存储用户数据的最佳方式是什么 我研究过 SQLite 但找不到将自定义对象
  • 有没有办法从应用程序脚本中的 graphql API 获取数据?

    我正在尝试通过应用程序脚本从 graphql API 获取数据 使用 POST 获取 graphql 数据有一个问题 提供从 GraphQL API 获取的查询字符串 https stackoverflow com questions 47
  • C++ 模板复制构造函数,编译器说“传递 const 作为此参数丢弃限定符”

    我正在尝试创建动态矩阵的模板类 以我目前对 C 的了解 我设法解决了一些问题 但我陷入了复制构造函数和重载运算符 的困境 换句话说 我无法创建我的对象的副本 在我看来 这应该可行 但我的朋友编译器告诉我 我有 1 个错误 错误 将 cons
  • 如何排查/解决 Xcode 10.1/iOS 12.1 中出现的“信号强度查询返回错误”日志?

    最近更新到 iOS 12 1 从 12 0 开始 Xcode 10 1 从 10 0 开始 在我的物理设备上进行调试时 在 Xcode 控制台中看到大量错误消息 如下所示 NetworkInfo Signal strength query
  • 客户端Web - 如何随时获取当前记录ID

    我正在努力 基于工作流程状态的不同权限 https stackoverflow com questions 10994216 different permissions based on workflow state问题 但我正在努力解决这
  • 完美穿越

    我正在考虑一个与完美转发有一些相似之处的问题 但是函数参数没有传递给被调用的函数 而是返回了 这就是为什么我称之为 完美传递 问题如下 假设我们有一个函数 它通过引用 可能还有一些额外的参数 获取一个对象 修改该对象 然后返回修改后的对象
  • parseFloat 舍入

    我有一个 javascript 函数 可以自动将输入字段添加在一起 但是添加像 1 35 1 35 1 35 这样的数字会得到 4 050000000000001 的输出 仅作为示例 如何将总数四舍五入到小数点后第二位而不是那个长字符串 输
  • 深层类继承层次结构——坏主意?

    希望高手能指点迷津 非常高的概述是 我不是编码初学者 但对 OOP 仍然是新手 这组消息类是我们正在编写的大型模拟应用程序的核心 我不想愚蠢地这样做 这个接口将应用程序从定序器到执行器切成两半 反之亦然 我的问题是 拥有这么深的继承层次结构
  • Android 布局 XML 中的“@id/android:list”与“@android:id/list”

    在 Android 自己的文档以及我继承的应用程序中 我有时会看到带有以下形式的视图 ID id android list 有时用表格 android id list 也就是说 android 有时位于 和 id 之间 有时位于 和实际ID
  • 条件内连接

    我希望能够根据表达式的结果内连接两个表 到目前为止我一直在尝试的 INNER JOIN CASE WHEN RegT Type 1 THEN TimeRegistration ELSE DrivingRegistration AS RReg
  • C 程序中的 C++ dll

    我想创建一个 dll 库C 代码并使用它C程序 我只想导出一个函数 GLboolean load obj const char filename GLuint object list 库中的头文件 ifndef OBJ H define O
  • jqgrid添加后如何清除添加表单中的自动完成框内容

    jqGrid 添加表单包含使用以下代码的自动完成框 如果新行添加到 jqgrid 自动完成字段不会被清除 仍然显示添加的行内容 简单的文本框列已正确清除 如何清除自动完成框 var grid grid grid jqGrid url Get