2015-07-09 44 views
4

有人可以帮助确定这个问题 -问题与X-编辑的引导2键盘缓冲

http://jsfiddle.net/xBB5x/8823/

我想实现一个X编辑(引导2)预输入功能。

上面的jsfiddle有两个测试。 1)本地源仿真 2)是AJAX仿真(远程数据源)

我已经采取了从X-编辑文档完全相同的例子,但什么是错的,我不能够识别JS资源。 Typeahead没有按预期工作。

根据我的理解,所有需要的是bootstrap 2和bootstrap.js(带有typeahead插件的2.3.2)的bootstrap-editable.js以使其工作。

的jsfiddle代码按照准则:

HTML

<div> 
    <p>Test 1 - local source emulation</p> 
<a href="#" id="state" data-type="typeahead" data-pk="1" data-placement="right" data-title="Start typing State.." class="editable editable-click" style="display: inline;">Arizona</a> 

</div> 
<p/> 
<div> 
    <p>Test 2 - remote data source emulation/ ajax</p> <a href="#" id="state2" data-type="typeahead" data-pk="1" data-placement="right" data-title="Start typing State.." class="editable editable-click" style="display: inline;">California</a> 

</div> 

JS

$.fn.editable.defaults.mode = 'inline'; 

//Test #1 local source emulation 
$(function() { 
    $('#state').editable({ 
     source: ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Dakota", "North Carolina", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"] 
    }); 
}); 

//Test #2 ajax emulation for the next step (remote data source) 
$(function() { 
    $('#state2').editable({ 
     value: 'Alabama', 
     source: function (query, process) { 
      return $.post('/typeahead', { 
       query: query 
      }, function (data) { 
       return process(data); 
      }); 
     } 
    }); 
}); 


$.mockjax({ 
    url: '/typeahead', 
    responseTime: 400, 
    response: function (settings) { 
     this.responseText = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Dakota", "North Carolina", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"]; 
    } 
}); 

回答

1

我用自己的例子之前(HERE),它似乎很好地工作。 (your updated example)你正在努力实现的目标还是我错过了什么?

您CANH也设置在JS的所有选项,这是干净多了,就像这样:

$('#state2').editable({ 
    type: 'text', 
    url: '/typeahead', 
    pk: 1, 
    title: 'Enter username', 
    ajaxOptions: { 
     dataType: 'json' 
    }, 
    success: function (response, newValue) { 
     //code here 
    } 
}); 
+0

的jsfiddle(更新例子)是行不通的。 – Rishi

+0

不工作在什么意义上? –

+0

typeahead功能不起作用,在输入文本框中输入后我没有看到任何建议。更新 - 我能够得到这个bootstrap 3.2.0,jquery-1.9.1,typeahead.js-0.11.1。谢谢你的帮助。 – Rishi