1

こんにちは、コード設定に次のリンクがあります。

<a href="#" id="vtype" data-type="typeaheadjs" data-pk="4" class="editable editable-click" data-value="Sedan">Sedan</a>

これを初期化するためのJavaScriptは次のとおりです。

$('a#vtype').editable({
    url: '/api/editVehicleType',
    success: processFieldReply,
    typeahead: {
                name: 'edit-vehicle-' + $(this).attr('id'),
                remote: '/autocomplete/getVehicleTypes/%QUERY',
                prefetch: '/prefetch/getVehicleTypes'
            }
});


function processFieldReply(reply){
    if (reply.status == 'error') {
        return reply.msg;
    }
}

リンクをクリックすると、ポップアップが表示され、送信を押すだけで、ボタンを離す前にテキストフィールド内の値がクリアされるため、値が送信されないため、サーバーがエラーで応答します。

調査の結果、 data-type="typeaheadjs" を設定した場合にのみ発生することに気付きました。そのため、typeahead.js と初期値が null か何かに関係している可能性があります。

PS: この js の一部のみが現在ページにロードされており、残りは jquery 1.10、bootrstap 3、bootstrap-editable.js、typeahead.js、typeaheadjs.js (元の typeahead.js への追加) です。

4

1 に答える 1

0

問題が見つかりました。x-editable は、.val(value) を使用して typeahead で初期化された後、入力の値を設定しようとしています。しかし、これは機能しません。

$(input).typeahead('setQuery', value)

この問題を解決するプル リクエストを作成しました: https://github.com/vitalets/x-editable/pull/579

于 2014-04-25T10:21:35.227 に答える