【问题标题】:Fire jQuery after MVC Remote Returns在 MVC 远程返回后触发 jQuery
【发布时间】:2012-09-20 15:43:41
【问题描述】:

在返回 MVC Remote 的结果后,有什么方法可以触发一些 jQuery 吗?

我有这样的设计:

<div class="wrapper"><div class="inner1">
<div class="inner2">Message</div></div></div>

如果有错误,我需要将其更改为:

<div class="wrapper error"><div class="inner1 error">
<div class="inner2 error">Message</div></div></div>

当远程验证返回时,它会显示消息,但我想触发一些 jQuery 将类添加到需要的 div 中。希望这是有道理的......

【问题讨论】:

  • 我们能否获得更多上下文,例如您在服务器端所做的事情,以及您正在使用的远程验证 api。
  • 请用服务器端语言和框架标记

标签: jquery model-view-controller validation


【解决方案1】:

或者,您可以将 div 包装在条件中,仅在出现错误时显示所有内容?

<%= if model.invalid? %>
  Add error divs here with MSG within
<% end %>

或者,如果您的 div 比显示的更复杂,请在错误时填写单独的 div 类,空白表示没有错误或“错误”表示失败,然后使用模板语言将其放入元素类中,例如

<div class="<%= errror_class %>">

显然为您的模板语言调整代码。

对于仅 js 的解决方案,请使用语言和框架标记此内容,以让合适的人查看它,大概您正在寻找一种设置成功后回调的方法?

【讨论】:

    【解决方案2】:

    这里有点勉强,因为帖子中没有太多信息。

    我假设您使用的是 jQuery Validate 插件。

    http://bassistance.de/jquery-plugins/jquery-plugin-validation/

    如果您查看它的选项,您将看到一个名为invalidHandler 的事件处理程序。您应该能够挂钩此事件以更新元素上的类。

    http://docs.jquery.com/Plugins/Validation/validate#toptions

    【讨论】:

      【解决方案3】:
      jQuery('.inner1').addClass('error');
      

      jQuery('.inner1').removeClass('error');
      

      效果相反

      【讨论】:

      • 并没有真正解决这个问题。
      • @BNL 他的问题是but I'd like to fire some jQuery to add the classes to the divs where required.,我提供了代码,没什么好说的了。
      • 不,他的问题是Is there any way to fire some jQuery AFTER the result from an MVC Remote is returned?
      • @BNL 他已经回复When the remote validation returns, it displays the message
      • 但他不知道验证后要使用的事件恰好运行他的 jquery。
      猜你喜欢
      • 1970-01-01
      • 2011-09-13
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      相关资源
      最近更新 更多