优化/改进客户端代码
optimize/improve client side code
我有一个项目列表,我需要记录它在列表中的位置-即排序顺序,我正在运行下面的代码来绑定停止事件-然而,由于有180个字段,这在我的机器上相当慢,这可以优化吗?
$(".survey-fields").bind("sortstop", function(event, ui) {
$(".report-field").each(function(i) {
$(".sorted-fields").find("#" + $(this).data("field-id")).val(i + 1);
});
});
代码说明:我有一个可排序div的列表,每个div都有一个id(db唯一id,一个数字),然后我有另一个隐藏的列表,我将新位置复制到相关字段中
以前我使用字段名作为字符串,而不是现在使用的id,不确定这是否会使它变得非常慢。我有jquery ui 1.8.16
<div data-field-id="41" class="display-wrapper report-field">
<div class="field-header field-move">
<span>name: fieldname</span> | <span>max length:
100</span><span class="ui-icon ui-icon-carat-2-n-s field-icon field-toggle" title="show/hide details of this field"></span>
</div>
<div> whatever here...
</div>
</div>
我可以做的任何其他解决方案…基本上,我需要通过ajax
请求
controller
发送一个ID列表和它们的排序顺序如果没有正确的分析,很难说。这个
$(".sorted-fields").find("#" + $(this).data("field-id"))
可以简化为
$("#" + $(this).data("field-id"))
因为id在文档范围内是(应该)唯一的。另一个想法是:如果您无论如何都在使用ajax,那么填充表单字段有什么意义?为什么不使用一个简单的对象,它可以用json发送到服务器。像
var sortOrder = {}
$(".report-field").each(function(i) {
sortOrder[$(this).data("field-id")] = i + 1;
});
相关文章:
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 如何在VB中先执行客户端代码,然后再执行服务器端代码
- 节点 js 中的客户端代码
- 从服务器端代码获取会话信息到客户端代码
- 监视 GWT JavaScript/客户端代码
- 是否有等效于webmock的测试客户端代码
- 客户端代码未接收已发布的模型
- 如何使用 NodeUnit 测试客户端代码
- 是否可以在客户端代码中使用 Require 函数
- 如何在Worklight的客户端代码上使用java
- GWT 客户端代码中的易失性变量
- 是否可以使用客户端代码检索数据库数据
- 如何确保只有我自己的网站(客户端代码)可以与Firebase后端通信
- WebPack:访问客户端代码中的节点环境变量
- 完成更新面板回发后如何执行客户端代码
- 管理通用客户端代码(javascript/css)
- 客户端代码web应用程序的许可系统
- Safari在服务器端的刷新/加载前不运行回调函数(调用客户端代码)
- 绑定mousedown的jQuery插件可以防止点击客户端代码
- 我的ASP.NET页面怎么能从客户端代码到服务器代码来回几次呢