【发布时间】:2017-05-30 14:18:03
【问题描述】:
我有一个锚链接,其中 data-url 的值为 yii create url 像这样
<a href="#" id="download-button" data-url="<?php echo Yii::app()->createUrl('controllerName/actionName',array('var1'=>'var1_value', 'var2' => 'var2_value', 'var3' => '?')); ?>" data-chosen-type="">CLICK ME</a>
所以情况是这样的,你看到 data-chosen-type="" 属性了吗?这个值实际上是由 javascript 设置的。现在我想要发生的是,获取 data-chosen-type 属性的值并将其放置在 createUrl 事物内部的数组中的“var3”值中。所以输出应该是这样的
<a href="#" id="download-button" data-url="<?php echo Yii::app()->createUrl('controllerName/actionName',array('var1'=>'var1_value', 'var2' => 'var2_value', 'var3' => 'value of data-chosen-type')); ?>" data-chosen-type="">CLICK ME</a>
有可能吗? 我试过这样做
'var3' => "js:$('#download-button').attr('data-chosen-type')"
它不起作用,但在视图文件中,尤其是在 CGridView 中,将 javascript 放入密钥对的值中确实有效……为什么在 createUrl 中我不能做同样的事情?我做错了吗?
【问题讨论】:
-
不,这当然是不可能的,因为 PHP 在客户端发生任何 JavaScripty 事件之前很久就完成了。
-
有什么办法可以解决我的问题吗?我知道一种肮脏的方式,但它很肮脏。所以我最好问问stackoverfow的专家
-
AJAX 请求到服务器,这样你就可以用正确的参数在那里调用 createUrl 方法...
-
我改用了ajax请求......但这不是我想要发生的。但它仍然有效。谢谢..把你的答案放在一个单独的盒子里,这样我就可以接受了
标签: javascript php jquery html yii