gpt4 book ai didi

javascript - MagicSuggest:选择项目后重定向

转载 作者:行者123 更新时间:2023-11-28 08:48:42 27 4
gpt4 key购买 nike

我在 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
}

这对我来说效果很好。但是,当选择一个项目时,我想直接重定向到我刚刚单击的个人资料。我在第一个结果中尝试了 onclick() 事件,不幸的是,当我将 CakePHP-HTML-Helper 与 $suggestions['id'] 结合使用时,该事件没有正确触发。

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

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

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

那么我怎样才能在这里获取 id 并重定向到我的联系人 View 呢? (/contacts/view/$id)。我过去并没有经常使用 JavaScript,所以还请原谅初学者的错误。

谢谢!

最佳答案

您可以简单地执行以下操作:

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

关于javascript - MagicSuggest:选择项目后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com