Bootstrap Tokenfield 带有 Typeahead 和 JSON

3

我正在尝试使用JSON实现带有typeahead的bootstrap标记字段。

<input type="text" class="span" id="typeahead" data-provide="typeahead">

我有两个函数,它们在单独使用时非常好用,但当我尝试将它们组合在一起时,它们就无法正常工作。

Typeahead:

 $("#typeahead").typeahead({
    source: function(typeahead,query){
        $.ajax({
            url: 'getgoups.php',
            type:'POST',
            data:'query'+query,
            dataType:'JSON',
            async:false,
            success:function(data){
                typeahead.process(data);
            }
        });
    }
})

TokenField

当需要将两个东西结合起来时,我会遇到困难。

$("#typeahead").tokenfield({
     typeahead:[ source: ]
});

有任何具体的错误吗?从post中看你的JSON数据是什么样子的? - bonhoffer
1个回答

1

经过多次尝试,我终于搞定了:

<!DOCTYPE>
<html lang="en">

<head>
    <title>Andani Masikhwa</title>

    <link href="bootstrap-tokenfield.css" type="text/css" rel="stylesheet">
    <!--<link href="tokenfield-typeahead.css" type="text/css" rel="stylesheet">-->

</head>
<style>
.tt-query,
.tt-hint {
    width: 396px;
    height: 30px;
    padding: 8px 12px;
    font-size: 24px;
    line-height: 30px;
    border: 2px solid #ccc;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    outline: none;
}

.tt-query {
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
    color: #999
}

.tt-dropdown-menu {
    width: 422px;
    margin-top: 12px;
    padding: 8px 0;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
    -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
    box-shadow: 0 5px 10px rgba(0,0,0,.2);
}

.tt-suggestion {
    padding: 3px 20px;
    font-size: 18px;
    line-height: 24px;
}

.tt-suggestion.tt-is-under-cursor {
    color: #fff;
    background-color: #0097cf;

}
</style>


<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
 <script type="text/javascript" src="bootstrap-tokenfield.js" charset="UTF-8"></script>
<script src="http://cdn.jsdelivr.net/typeahead.js/0.9.3/typeahead.min.js"></script>
<script>
$(document).ready(function(){
    $('#search').tokenfield({
    typeahead:{
        name : 'sear',
        remote: {
            url : 'connection.php?query=%QUERY'
        },
        success:function(data){
            process(data);
        }

    }

    });
});
</script>
<body>
    <input type="text" class="form-control"  id="search" value="andani" />
</body>

</html>

请详细解释您的解决方案,以便其他人更容易理解。 - Sam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接