我需要将元素的值传递给$ ajax->链接而不使用表单/提交结构。 (因为我有一组动态设置的可点击链接,通过它我可以触发操作)
我曾经在Ruby中使用Prototype javascript函数$ F这样做:
<%= link_to_remote "#{item.to_s}",
:url => { :action => :add_mpc },
:with => "'category=' + $F('mpc_category')" -%>
但这似乎不适用于Cakephp:
<?php echo $ajax->link(substr($vehicle['vehicles']['year'], -2),
array('action' => 'add_mpc', 'category' => '$F("mpc_category")'),
array('update' => 'results', 'position' => 'top')); ?>
PHP将$ F视为变量,而不是调用javascript。我对Javascript不是很熟悉,但还有另一种方法可以通过此链接将'mpc_category'输入元素的值传递给控制器吗?我一直在寻找几天,找不到任何处理这个特定问题的人。感谢您的帮助。
编辑:在php语句中修复语法。
答案 0 :(得分:0)
还没有真正使用蛋糕,但我使用过铁轨。 js部分应该完全是一个字符串。可能是这样的:
<?php echo $ajax->link(substr($vehicle['vehicles']['year'], -2),
array('action' => 'add_mpc', 'category' => "$F('mpc_category')"),
array('update' => 'results', 'position' => 'top')); ?>
我假设它将“$ key = $ value”添加到ajax链接中的params上。另请注意,您在第二行末尾错过了一个逗号。
答案 1 :(得分:0)
经过几天的努力,我得到的最好的就是:
<?php echo $ajax->link($year,
array( 'action' => 'add_row',
'category' => $category,
'product' => $product.$newpart,
array( 'update' => $summary['summary']['id']." ".$vehicle['vehicles'],
'with' => "$('app_select').serialize()")); ?>
'with' => "$('app_select').serialize()"
是从表单中获取值而不必提交表单的部分。
然而,我只需要一个表单元素,因此它不是理想的,因为它将整个序列化表单传递给控制器。
我仍然希望能够对任何元素执行此操作,无论它是否处于某种形式,但此方法似乎不会这样做。也许更熟悉原型的人可以对此有所了解。