【问题标题】:MagicSuggest: redirect after choosing itemMagicSuggest:选择项目后重定向
【发布时间】:2013-10-17 20:21:42
【问题描述】:

我在 Helper 中使用 MagicSuggest (http://nicolasbize.github.io/magicsuggest/) 和 CakePHP 作为联系人搜索。 我的 MagicSuggestHelper 类如下所示:

class MagicSuggestHelper extends AppHelper {

var $name = 'MagicSuggest';
var $helpers = array('Html');

public function suggest(array $options=null){
?>
    <div id='ms1'></div>
    <script>
        var ms = $('#ms1').magicSuggest({
            width: 300,
            highlight: true,
            allowFreeEntries: false,
            hideTrigger: true,
            expandOnFocus: true,
            useTabKey: true,
            maxSelection: 1,
            typeDelay: 0,
            name: "searchId",
            data: [
                <?php foreach($options['data'] as $suggestions){
                    echo"{\n";
                    echo"id: ".$suggestions['id'].",\n";
                    echo"name: \"".$suggestions['name']."\",\n";
                    echo"desc: \"".$suggestions['desc']."\",\n";
                    echo"image: \"".$suggestions['image']."\",\n";
                    echo"},";
                } ?>
            ],
            renderer: function(v){
            return '<div>' +
                '<div style="float:left;"><img src="' + v.image + '"/ style=\"max-width:80px;max-height:80px\""></div>' +
                '<div style="padding-left: 100px;">' +
                    '<div style="padding-top: 10px;font-style:bold;font-size:100%;color:#333">' + v.name + '</div>' +
                    '<div style="color: #999">' + v.desc + '</div>' +
                    '</div>' +
                '</div><div style="clear:both;"></div>';
            }


        });
    </script>
    <?php   
} 

这对我来说很好。 But when selecting an item I want to get redirected directly to the profile I just clicked on. 我在第一个结果中使用 onclick()-event 进行了尝试,不幸的是,当我将 CakePHP-HTML-Helper 与 $suggestions['id'] 结合使用时,它没有正确触发。

在 MagicSuggest 网站上,我发现更改选择时触发的事件可以在常见问题解答中找到以下代码:

$(ms).on('selectionchange', function(event, combo, selection){
 alert(selection); });

我想我可以在这里使用重定向功能而不是警报。 但是如何在这里获取 id 呢?甚至 alert(selection) 也会向我返回一个带有“object Object”的警报,我认为这不应该是这种情况。

那么我怎样才能在此处获取 id 并重定向到我的联系人视图? (/联系人/视图/$id)。 过去我没有大量使用 JavaScript,所以还请原谅初学者的错误。

谢谢!

【问题讨论】:

    标签: javascript cakephp redirect magicsuggest


    【解决方案1】:

    你可以这样做:

    $(ms).on('selectionchange', function(e,m){
       var val = this.getValue(); // this is what you want
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      相关资源
      最近更新 更多