2016-04-16 11 views
1

私のデータベースからemoteデータフェッチを使用してxeditableプラグインselect2を実装しようとしています。データフェッチスクリプトがjsonデータを返していますが、ajaxコールはそれを取得しません。私のコードは次のようになります。IDxeditable select2リモートデータをセレクトフィールドにフェッチする

Javascriptを

$('#username ').editable({ 
    type: 'select2', 
    url: '../payments/person.php',  
    pk: 1,  
    onblur: 'submit', 
    emptytext: 'None', 
    select2: { 
       placeholder: 'Select a Requester', 
       allowClear: true, 
       width: '230px', 
       minimumInputLength: 3, 
       id: function (e) { 
        return e.person_id; 
       }, 
       ajax: { 
        url: '../payments/person.php', 
        dataType: 'json', 
        data: function (term, page) { 
         return { query: term }; 
        }, 
        results: function (data, page) { 
         return { results: data }; 
        } 
       }, 
       formatResult: function (employee) { 
        return employee.name; 
       }, 
       formatSelection: function (employee) { 
        return employee.name; 
       }, 
       initSelection: function (element, callback) { 
        return $.get('../payments/person.php', { query: element.val() }, function (data) { 
         callback(data); 
        }, 'json'); //added dataType 
       } 
      } 
}); 

PHPコードによって発見 HTML は、以下のようなJSON形式でデータを返します。

[{"id":"1","name":"AdminAdmin"}] 

私はAjaxのコードがあると確信していますデータを適切に収集していないし、それをクリックするとポップアップも読み込まれない。誰かが助けることができたら。

次のような外観を取得するための私のPHPコード:

if (isset($_POST['person_id'])) { 
    $id = trim($_POST['person_id']); 
    $result = array(); 
    $id = mysqli_real_escape_string($con,$id); 
    $res = mysqli_query($con,"SELECT person_id,Concat(first_name ,last_name) as name FROM k_people "); 
while ($row = mysqli_fetch_array($res)) { 

$result[] = array(
    'id' => $row['person_id'], 
    'text' => $row['name'] 
); 

} 
echo json_encode($result); 

}

答えて

0

私は[{"id":"1","name":"AdminAdmin"}][{"id":"1","text":"AdminAdmin"}]されるべきだと思います。

+0

名前はconcat(姓、名字)のselect文の結果を格納します – phpnewbie

+0

しかし、select2はオプションが "id"と "text"属性を持つと想定しています。 "名前"の名前を "テキスト"に変更できますか?どのバージョンのselect2ですか? – programmerKev

+0

私はそれをテキストに変更し、FirefoxのネットワークタブでParamタブをチェックしました - このリクエストのパラメータはありません。 person.phpのレスポンスは200 – phpnewbie

関連する問題