0

Joomla 1.5 の Bootstrap v2.3.1 typeahead に問題があります - 入力タグ内で data-source='["..."]' メソッドを使用する場合にのみ正常に動作しますが、リモートの php 生成された mysql を受け入れませんjson エンコードされたクエリ。

チュートリアルからコピーした私のコードは次のとおりです。

<input type="text" id="search" data-provide="typeahead"/>
<script>    
$(function(){
    $("#appendedInputButton").typeahead({
        source: function(query, process) {
            $.ajax({
                url: 'http://www.mydomain.com/source.php',
                type: 'POST',
                data: {q: query},
                dataType: 'JSON',
                async: true,
                success: function(data) {
                    process(data);
                }
            })
        }
    })
})
</script>

json でエンコードされた配列を出力する簡略化された source.php を次に示します。

//joomla required stuff   
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$db = &JFactory::getDBO();

$array = array();
$array[] = "item1";
$array[] = "item2";
$array[] = "item3";
//this is just for testing

echo json_encode($array);

ボタンクリック後に単純なjQuery ajaxロードを使用して出力をテストし、配列を出力しましたが、typeaheadで動作させることはできません。また、次のように配列を指定しても、typeaheadは機能しません。

var colors = ["red", "blue", "green", "yellow", "brown", "black"];
$('#search').typeahead({source: colors});

どんな助けでも大歓迎です-それがJoomlaの問題なのか、私のコードなのか、それとも何か他のものなのかわかりません。

4

2 に答える 2

0

これを検討している人のために - 私は自分の joomla 1.5 サイトでブートストラップの typeahead を機能させることができず、代わりに typeahead.js を使用しましたが、正常に機能します >リンク

于 2013-04-21T14:40:36.963 に答える