【问题标题】:How to trigger click on ajaxSubmitButton如何触发点击ajaxSubmitButton
【发布时间】:2012-05-11 13:30:43
【问题描述】:

我有使用 ajaxSubmitButton 的过滤器。

CHtml::ajaxSubmitButton('Show',Yii::app()->createUrl('office/ajaxFilter'),array('update'=>'#office-install'),array('id'=>'filterSubmit'))

我想在 pageLoad 上提交它(使用默认过滤器值接收数据)。 ajaxSubmitButton如何触发点击?

使用

  $(document).ready(function () {
    $('#filterSubmit').trigger('click');
}

提高重定向。

【问题讨论】:

  • return false; 应该可以帮到你!

标签: php jquery yii


【解决方案1】:

如果我正确理解您的问题,您需要触发对#filterSubmit 元素的点击以运行与其关联的一些操作,但如果是这样,则页面不会跟随常规点击:

将您的代码更新为:

$(document).ready(function () {

  // bind a click event to the button
  $('#filterSubmit').bind('click', function(e) {

    // the browser from following the click
    e.preventDefault();
  });

  // trigger the click on the button
  $('#filterSubmit').trigger('click');

  // unbind the click event to allow the normal usage of that button
  $('#filterSubmit').unbind('click');
}

这假设您有一些点击事件绑定到 #filterSubmit... 如果不是这种情况,也许更详细的问题可以让我们帮助您!


已编辑

通过您刚刚发布的评论,您可以执行以下操作:

你的代码 (有一个小修复)

$(document).ready(function(){

  $('#filterSubmit').trigger('click');

}); // was missing ); here

使用 Yii 框架

<?php

// the script string
$ourscript = "$('#filterSubmit').trigger('click');";

// Yii’s registerScript
Yii::app()->clientScript->registerScript(
                            'filtersubmitclickscript',
                            $ourscript,
                            CClientScript::POS_READY
                          );

?>

【讨论】:

  • 详细说明你的问题!!我的答案中提供的假设是否正确?
  • 我试过 clientScript->registerScript('onLoadSubmit'," $('#filterSubmit').bind('click', function(e) { e .preventDefault(); }); $('#filterSubmit').trigger('click'); $('#filterSubmit').unbind('click'); ",CClientScript::POS_READY)?>
  • ajaxSubmitButton 在那之后不起作用。所以我决定在页面加载时发出简单的 ajax 请求(实际上与 ajaxSubmitButton 请求相同)
  • 刚刚编辑了我的答案,并举例说明了如何从 Jquery Document Ready 传递到 Yii 的 registerScript。 (还是不知道是不是你想做的……)
  • 是的,它s that what im 正在尝试做。但我已经尝试过建议的方法(
【解决方案2】:

这个话题已经在这里讨论过很多次了: https://stackoverflow.com/search?q=click+trigger+jquery

由于安全限制,您可能会在使用触发器的多个浏览器中遇到问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2011-01-23
    • 2018-11-23
    相关资源
    最近更新 更多