【问题标题】:simulating an change event jquery模拟更改事件jquery
【发布时间】:2011-11-10 10:03:31
【问题描述】:

我有五个列表(选择),其中填充了 php / mysql 和 jquery。我使用这个脚本:http://bit.ly/3YTAXe

当我发布表单并出现新页面时,我会重新显示我的五个列表,我希望我的 5 个列表将填充发布的值。

我想我必须模拟事件“变化”或类似的事情。 我认为我的代码无济于事(它在 smarty 和许多其他东西中)。

有人可以通过上面链接中的示例代码帮助我吗?

【问题讨论】:

  • 你试过$('#yourselect').trigger('change');吗?
  • 如何通过选择正确的值来模拟事件?因为它基于我的第二个列表将被填充的值。

标签: jquery eventtrigger


【解决方案1】:

试试.trigger()

$('#yourselect').val('yourvalue');
$('#yourselect').trigger('change');

它也可以链接成一条语句:

$('#yourselect').val('yourvalue').trigger('change');

【讨论】:

    【解决方案2】:

    一个标准的发布操作向服务器请求一个新页面,该页面对发布的表单没有自然“记忆”。所以你有 3 个基本选项:

    1. 从您的服务器发回值
    2. 使用 cookie 来存储它们,并使用 javacript 来处理 cookie
    3. 使用 jquery $.post 代替标准帖子。

    我更喜欢第三种选择。 jquery 将在 ajax 中发送表单,并处理来自服务器内部实际页面的响应。当然,您必须在表单提交按钮上单击“event.preventDefault”(或在 $('form').submit 中)。就个人而言,我没有在应该由 $.post 发送的表单中定义任何“action=”标签(我在 $.post 块中使用了一个变量)。

    【讨论】:

    • 感谢您的回答。我相信它可以帮助某人=)
    猜你喜欢
    • 1970-01-01
    • 2011-12-10
    • 2013-06-22
    • 1970-01-01
    • 2012-07-22
    • 2011-10-09
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多