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 回答