我试图在"完成使用其他功能:" JQuery ajax," selectOptionSort"功能但不起作用。怎么了?
$('#tipos').change(function(){
$("#marcas > option").remove();
$("#marcas").prepend('<option>-- Selecione a Marca --</option>');
$("#marcas").prepend('<option>-- Adicionar --</option>');
$("#modelos > option").html("<option selected=\"selected\" value=\"#\">-- Selecione o Modelo --</option>");
var tipo = $('#tipos').val();
$.ajax({
type: "POST",
url: BASE+"admin/getMarcas/"+tipo,
success: function(marcas)
{
$.each(marcas,function(id,marca)
{
var opt = $('<option />');
opt.val(id);
opt.text(marca);
$('#marcas').append(opt);
});
},
complete: function(){
$("#marcas").selectOptionSort({ //This works fine !
orderBy: "text",
sort: "asc"
});
//These two below doesn't work !
$("#marcas").append('<option>-- Teste Adicionar --</option>');
console.log("test");
}
});
});
下载了selectOptionSort
答案 0 :(得分:0)
在您的完整函数中选择另一个选项框后,初始化selectOptionSort:
$("#marcas").selectOptionSort(
{ //This works fine !
orderBy: "text",
sort: "asc"
});
$("#marcas").append('<option>-- Teste Adicionar --</option>');
$("#marcas").selectOptionSort(//reinitialize the selectOptionSort after appending
{ //This works fine !
orderBy: "text",
sort: "asc"
});
console.log("test");
在TEXT DESC下查看here以获取实例
答案 1 :(得分:0)
也许这对你有用,因为我经常使用这种语法:
$("#marcas").append('<option>-- Teste Adicionar --</option>');
到此:
$('<option>-- Teste Adicionar --</option>').appendTo("#marcas");
答案 2 :(得分:0)
你为什么不在一次回调中进行所有操作?
$.ajax({
type: "POST",
url: BASE + "admin/getMarcas/" + tipo,
success: function (marcas) {
$.each(marcas, function (id, marca) {
var opt = $('<option />');
opt.val(id);
opt.text(marca);
$('#marcas').append(opt);
});
/* is known all options are there, can sort now*/
$("#marcas").selectOptionSort({
orderBy: "text",
sort: "asc"
});
/* why append after sort?*/
$("#marcas").append('<option>-- Teste Adicionar --</option>');
console.log("test");
}
});
答案 3 :(得分:0)
每次追加后,您必须重新初始化selectOptionSort
。