CakePHP 生成一个链接,其参数参数由选择输入确定


CakePHP generate a link whose argument parameter is determined by a select input

假设我正在查看我的 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 
    })
")