假设我正在查看我的 Cake 应用程序,例如 http://myapp.com/controller/action/argument
我知道生成一个与 HtmlHelper 的链接,如下所示:
echo $this->HtmlHelper->link( 'Link title', array('controller' => 'mycontroller', 'action' => 'myaction', $parameter) );
现在,假设我有一个下拉选择框,其中包含大量选项。让链接使用选择框中的值作为操作参数的最佳方法是什么?我需要在下拉列表更改时使用 jQuery 更改链接吗?
你应该尽可能通用地编写 CakePHP 链接,所以使用这样的 jQuery 函数:
function displayVals() {
var src = $( "#sel" ).val();
$('#link').attr('href',src);
}
和这样的 HTML 部分:
<form action="../">
<select id="sel" name="myDestination">
<option value="http://www.yahoo.com/">YAHOO</option>
<option value="http://www.google.com/">GOOGLE</option>
</select>
</form>
<a href="" id="link">click</a>
你的结果将类似于这个小提琴。
是的,您可以使用jquery
只需使用 HTML 脚本块即可将脚本获取到 HTML 中。
echo $this->Html->scriptBlock("
$('#yourSelectBoxId').change(function() {
var url = '". $this->Html->url(array(
'controller' => 'mycontroller',
'action' => 'myaction', $parameter
)) ."'; // just setting your url like this.
// you can proceed further with url
})
")