【问题标题】:ajax form manipulation with jquery使用 jquery 进行 ajax 表单操作
【发布时间】:2012-05-10 21:51:52
【问题描述】:

类似于jQuery how to load some json records into a form fields?,我有一个相当复杂的表单,其中字段相互交互,需要重新计算(一些复杂的数学)以及在某些条件下禁用字段。可以输出 JSON 或类似内容的服务器类。

calc-request 由 jquery 在任何字段 onchange 上触发,并且应该获取类响应并采取相应的行动。关于对 ajax 响应采取行动:

  • 是否可以对响应进行格式化,以便在不迭代 JSON 结果的情况下更新/淡化字段?

  • 请提供此类功能的最新 json 响应示例。

我尽量不重新发明轮子,但希望尽可能地使用普通插件,插件往往会损坏。

编辑:

本质上:

$.ajax({
  url: "theCalcClass.php",
  context: document.body
  }).done(function() { 
    //use the json data to update fields w/o foreach...
  });

【问题讨论】:

  • 为什么你不想迭代 JSON 响应?
  • 它很痒。一层太多了。

标签: jquery json


【解决方案1】:

我不确定我是否理解您的问题。如果您正在寻找像form.repopulateWith(json) 这样的内置单线,它不存在。您的选择是:

  1. 循环 JSON 并重新填充每个字段,或者

  2. 不循环地逐一设置字段值。

任何其他解决方案(如插件)都必须使用其中一种方法,没有其他方法。

【讨论】:

  • 我相信你明白我的问题。我或多或少想将 JSON(对象)绑定到 DOM。
  • 是的,但没有“普通”的方式来做到这一点。也许 Backbone.js(@Amadan 建议)可以做到这一点,但它是一个完整的框架。 JS 和 Web 浏览器不提供开箱即用的功能。
  • 好的,谢谢。然而,Backbone 似乎太聪明了。
【解决方案2】:

不是 100% 确定您的意思,但我相信像 Backbone.js 这样的 MVC 框架可能会对您有所帮助。

【讨论】:

    【解决方案3】:

    确实有一些东西可以做到这一点(包括处理子对象数组):https://github.com/corinis/jsForm

    【讨论】:

      猜你喜欢
      • 2011-06-04
      • 2011-07-11
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多