Bootstrap select 下拉菜单是动态的吗?
Bootstrap select dropdown made dynamic?
这是我的静态 HTML:
<select name="codici_transazioni" class="selectpicker" id="codici_transazioni">
<option value="dsjkcbs">dsjkcbs - <i>Email, Facebook</i></option>
<option value="scgwfsd" selected class="normaleSelect">scgwfsd - <i>Facebook</i></option>
<option value="stdstyd">stdstyd - <i>Twitter</i></option>
</select>
这是一段取自模态上下文的代码。
我希望我的 select 填充 Ajax 对 .php 文件执行的结果,该文件 returns 来自我的 MySQL 数据库。
现在,所有 Ajax 和 DB 部分都在工作,但当我尝试在 Ajax 之后通过 jQuery 填充此 <select>
时,不是成功,结果和上面默认的一样!
这是我的 jQuery:
$('#codici_transazioni').html("");
for (var i = received.length - 1; i >= 0; i--) {
<other DOM loading>
$('#codici_transazioni').append("<option value=" + temp_code_transaction + "> " + temp_code_transaction + "- <i>" + temp_type_transaction+ "</i></option>");
}
我通过 Chrome 注意到(在页面加载之后)在 select.
之后创建了一些 div
我知道这是由 Bootstrap 完成的,但是如何在 Ajax 执行后重新加载此代码的创建以使 select 下拉列表动态化?
使用ajax:
$('#codici_transazioni').html('')
$.ajax({
url: '/path/to/phpfile',
type: 'POST',
dataType: 'json',
})
.done(function(data) {
var output = '';
$.each(data,function(index, el) {
output += '<option class="results" value="'+el.valueToPass+'">'+el.valueToPass+'</option>'+
});
$('#codici_transazioni').append(output)
})
.fail(function() {
console.log("error");
})
我不能说得更具体,因为你没有 post php 文件,也没有说你想以哪种方式触发结果。
注意:最好为现有选项提供 'results' 的 class 或任何您喜欢的选项,这样您就可以在加载新选项之前清除现有选项。
到位使用:
$('#codici_transazioni').html('')
你可以这样做:
$('.results').remove()
如果您正在使用 bootsrap-select,您还应该 运行 在将新选项附加到 select
之后使用 refresh() 方法
.done(function(data){
'appending process'...
$('#codici_transazioni').selectpicker('refresh');
})
这是我的静态 HTML:
<select name="codici_transazioni" class="selectpicker" id="codici_transazioni">
<option value="dsjkcbs">dsjkcbs - <i>Email, Facebook</i></option>
<option value="scgwfsd" selected class="normaleSelect">scgwfsd - <i>Facebook</i></option>
<option value="stdstyd">stdstyd - <i>Twitter</i></option>
</select>
这是一段取自模态上下文的代码。 我希望我的 select 填充 Ajax 对 .php 文件执行的结果,该文件 returns 来自我的 MySQL 数据库。
现在,所有 Ajax 和 DB 部分都在工作,但当我尝试在 Ajax 之后通过 jQuery 填充此 <select>
时,不是成功,结果和上面默认的一样!
这是我的 jQuery:
$('#codici_transazioni').html("");
for (var i = received.length - 1; i >= 0; i--) {
<other DOM loading>
$('#codici_transazioni').append("<option value=" + temp_code_transaction + "> " + temp_code_transaction + "- <i>" + temp_type_transaction+ "</i></option>");
}
我通过 Chrome 注意到(在页面加载之后)在 select.
之后创建了一些 div我知道这是由 Bootstrap 完成的,但是如何在 Ajax 执行后重新加载此代码的创建以使 select 下拉列表动态化?
使用ajax:
$('#codici_transazioni').html('')
$.ajax({
url: '/path/to/phpfile',
type: 'POST',
dataType: 'json',
})
.done(function(data) {
var output = '';
$.each(data,function(index, el) {
output += '<option class="results" value="'+el.valueToPass+'">'+el.valueToPass+'</option>'+
});
$('#codici_transazioni').append(output)
})
.fail(function() {
console.log("error");
})
我不能说得更具体,因为你没有 post php 文件,也没有说你想以哪种方式触发结果。
注意:最好为现有选项提供 'results' 的 class 或任何您喜欢的选项,这样您就可以在加载新选项之前清除现有选项。
到位使用:
$('#codici_transazioni').html('')
你可以这样做:
$('.results').remove()
如果您正在使用 bootsrap-select,您还应该 运行 在将新选项附加到 select
之后使用 refresh() 方法.done(function(data){
'appending process'...
$('#codici_transazioni').selectpicker('refresh');
})