提交输入文本的x-editable typeahead在发布请求之前被清除

时间:2014-01-15 15:00:58

标签: javascript jquery bootstrap-typeahead typeahead.js x-editable

您好我的代码设置中有一个链接如下:

<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)

1 个答案:

答案 0 :(得分:0)

我发现了问题。 x-editable尝试使用带有.val(value)的typeahead初始化后设置输入的值。但这不起作用,需要通过

来完成

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

我创建了解决此问题的拉取请求:https://github.com/vitalets/x-editable/pull/579