我正在为Twitter Bootstrap (https://github.com/biggora/bootstrap-ajax-typeahead)使用typeahead的一个修改版本,它简化了远程数据的使用。我遇到的问题是,我的AJAX调用url依赖于我的select输入中的选定选项。
var subjectId = $('#chapters-open-subject option:selected').val();
$('#chapters-edit-title').typeahead({
onSelect: function(item){
$('#chapters-edit-submit').attr('disabled',false).removeClass('btn-default').addClass('btn-primary');
},
ajax: {
url: '/admin/misc/chapters/search/'+subjectId
},
displayField: 'naslov'
});问题是,即使我更改了选择框中的选项,AJAX请求中的url仍然保持不变,并且没有相应地更改。我该如何解决这个问题?
发布于 2014-04-30 03:31:30
你也许可以用下面这样的代码逃脱惩罚:
var subjectId = $('#chapters-open-subject option:selected').val();
var $typeahead = $('#chapters-edit-title').typeahead({
onSelect: function(item){
$('#chapters-edit-submit').attr('disabled',false).removeClass('btn-default').addClass('btn-primary');
},
ajax: {
url: '/admin/misc/chapters/search/' + subjectId
},
displayField: 'naslov'
});
$('#chapters-open-subject').on('change', function() {
subjectId = $(this).val();
$typeahead.data('typeahead').options.ajax.url = '/admin/misc/chapters/search/' + subjectId;
});如果这不起作用,我建议在GitHub上发布一个关于该库的问题。它似乎不具备在设置后轻松更改URL的功能。
发布于 2016-04-02 19:33:02
ajax :
{
preDispatch : function() { return { q: $("#subjectId").val() }},
url: '/admin/misc/chapters/search/'+ ,
method : 'get',
displayField : 'naslov',
}https://stackoverflow.com/questions/23373229
复制相似问题