我正在使用Helper中的CakePHP和MagicSuggest(http://nicolasbize.github.io/magicsuggest/)作为联系人搜索。
我的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网站上,我发现了一个更改选择时触发的事件。可以在FAQ中找到以下代码:
$(ms).on('selectionchange', function(event, combo, selection){
alert(selection); });
我想我可以在这里使用重定向功能代替警报。
但是如何在这里获取ID?甚至alert(selection)也会向我返回“ object Object”警报,我认为情况并非如此。
那么,如何在此处获取ID并重定向到“联系人”视图? (/联系人/视图/ $ 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/