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

时间:2013-09-23 12:38:55

标签: php jquery html cakephp

说我正在看我的蛋糕应用程序。例如。 http://myapp.com/controller/action/argument

我知道如何生成与HtmlHelper的链接:

echo $this->HtmlHelper->link( 'Link title', array('controller' => 'mycontroller', 'action' => 'myaction', $parameter) );

现在,假设我有一个下拉选择框,其中包含大量选项。让链接使用选择框中的值作为操作的参数的最佳方法是什么?我是否需要在下拉列表更改时使用jQuery更改链接?

2 个答案:

答案 0 :(得分:0)

你应该把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>

您的结果将类似于此fiddle

答案 1 :(得分:0)

是的,您可以使用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 
    })
")