我陷入了困境。我正在使用 JS 助手。我使用了以下代码。
<?php $this->Js->get('#client_id')
->event('change', $this->Js->request(array('action' => '../ajax/get_client_location_and_process'),
array('update' => '#client_location_process',
'async' => false,
'dataExpression' => true,
'method' => 'post',
'evalScripts' => true,
'data' => $this->Js->serializeForm(array('isForm' => True, 'inline' => True))
)
)
);
我想在页面加载时触发更改事件。如果我使用 document.ready 方法,那么它不起作用。我无法找到 JS Helper 方法,我们可以在其中显式触发控件上的某些事件。请建议代码如何在我需要时在表单元素上执行类似 JQuery trigger() 的功能。
既然你已经知道了.trigger()
在 jQuery 中,您可以将它与视图代码一起使用:
<?php
// Your view code
?>
<script>$('#client_id').trigger('change');</script>
或者,如果您仍然喜欢通过 PHP 完成此操作,您也许可以制作自己的助手,例如:
<?php
class ArunjsHelper extends AppHelper {
public $helpers = array('Html');
function trigger($element, $event, $options = array()) {
return $this->Html->scriptBlock("$('$element').trigger('$event');");
}
}
Add ArunjsHelper
to $helpers
在控制器处:
<?php
class SomeController extends Controller {
public $helpers = array('Arunjs');
// Your controller code
}
然后您可以从视图中调用它:
<h1>Hello</h1>
<p>Your usual view HTML code</p>
<?php // Trigger the change event ?>
<?php echo $this->Arunjs->trigger('#client_id', 'change'); ?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)